Git学习

Git概述

Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。具有廉价的本地库方便的暂存区域多个工作流分支等特性。

版本控制

版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。从而让用户能够查看历史版本方便版本切换

版本控制工具
  • 集中式版本控制工具

  • 分布式版本控制工具

Git下载

具体步骤

Git常用命令

  • 设置用户签名

    用户签名是用来识别客户的标识,必须设置用户签名才能正常使用Git。

    设置用户签名

    git config --global user.name LuckyE

    设置用户邮箱

    git config --global user.email llb1120@outlook.com

  • 初始化本地库

    只有初始化本地库后,Git才可以对该库进行管理。

    初始化成功后会出现隐藏文件(.git)不能修改

    git init

    初始化成功。

  • 查看本地库

    git status

    • 新增文件

      vim hello.txt创建一个新文件,按esc进入编辑模式,按i键进入插入模式。按shift+;键再输入wq保存文件。

    新创建文件后:

    显示hello.txt是未被追踪的文件。

  • 添加暂存区

    git add hello.txt

    git rm --cached hello.txt删除文件,删除的只是暂存区的文件,本地文件(即工作区)并未删除

  • 提交本地库,形成历史版本

    git commit -m"日志信息" hello.txe

    日志信息必须带上。

    添加到本地库成功后会得到版本号(图中红色方框)

    • 查看提交信息

  • 修改文件

    vim hello.txt修改文件 模拟第二次提交文件

    修改后:

    image-20220905203842643

    第二次提交之后,指针指向第二次提交文件处。

  • 查看历史版本

    git reflog简略

    git log详细

  • 历史穿梭

    git reset --hard 版本号

    可以看到指针已经指向第一次提交的文件

    显示第一次提交的文件。

    历史穿梭底层实现其实就是head指针的移动

Git分支

常用Git分支操作

  • 查看分支

    git branch -v

    当前只有一个分支。

  • 创建分支

    git branch hot-fix

    当前分支仍是master。

  • 切换分支

    git checkout hot-fix

  • 修改分支

  • 合并分支

    git merge hot-fix表示将hot-fix合并到当前分支master

    该情况是正常合并。

    合并冲突:两个分支在同一个文件同一个位置产生了两个完全不一样的修改,Git无法替我们决定哪一个修改,只能人为指定。

GitHub

GitHub操作

  • 创建远程库

    获取https地址

    • 创建别名

      git remote -v查看别名

      git remote add 别名 项目地址创建别名

      会创建两个别名,一个用于拉取,一个用于推送

  • 推送本地库到远程库

    推送的最小单位分支!!!

    git push git-demo master

    推送成功!

  • 拉取远程库到本地库

    拉取的最小单位同样是分支!!!

    git pull git-demo master

    保证本地库=远程库。

  • 克隆远程库到本地

    git clone 地址链接

    clone完成以下操作:

    • 拉取代码
    • 初始化本地仓库
    • 创建别名(默认为origin)

GitHub团队内协作

  • 添加库成员

    拉取操作和推送操作与前文一致。

GitHub跨团队协作

Fork代码

发起pull requests

GitHub SSH免密登录

生成SHH密钥

id_rsa.pub为公钥。

获取公钥

添加公钥

IDEA集成GitHub

配置忽略文件

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

定位Git程序

打开Idea设置

初始化

添加暂存区

  • 方法一

  • 方法二

  • 方法三

    快捷键Ctrl+Shift+A

  • 方法四 整个工程一起添加

提交本地库

切换版本

查看历史版本、版本号

切换版本

代码发生变化。

创建分支

  • 方法一

  • 方法二

切换分支

合并分支

正常合并

合并成功!

冲突合并

两个分支同一个文件同时修改

成功合并!

IDEA整合GitHub

添加GitHub账号

点击Log In via GitHub可以直接跳到网页验证添加GitHub账号。

添加成功!

分享项目到GitHub

Repository name:仓库名字

Remote:仓库别名(一般与仓库名一致)

成功分享!

推送本地库到远程库

先commit到本地库

push本地库到远程库

  • 方法一

  • 方法二

    该方法默认使用https协议,容易受网速影响。

    一般使用SSH免密登录协议。

    推送成功!

注意!!!

发起push时,如果本地库版本跟远程库版本不一致的话,Git是会拒绝Git操作的。所以每次修改代码之前都要把远程库的代码pull到本地库中。

拉取远程库到本地库

当发现GitHub版本与本地库版本不同时,需要pull最新版本到本地库。

推荐使用ssh免密登录进行拉取。

克隆远程库到本地库

点击Get from VCS

使用SSH免密登录clone代码。

绑定了GitHub账号后,也可以直接查询账号中的仓库进行clone。

clone成功。

GitHub链接

GitHub参考链接

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐