git分支管理

1. 认识分支

创建仓库之后,就有了第一个默认的分支:master

如图:

分支是包含多个历史并且历史是按照顺序排列的

git分支管理_第1张图片

一个分支可以分出多个分支,我们可以将代码提交到自己的分支中,利于多人协作

2. 创建分支

(1)图形界面操作

git分支管理_第2张图片

git分支管理_第3张图片

git分支管理_第4张图片

(2)命令行方式

在终端输入:git checkout -b xxx(新分支名)

意思为创建新的分支并切换到该分支

3. 合并分支

注意:合并分支是将其他分支合并到当前分支,不会对其他分支产生影响,只会改变当前分支内容

(1)图形界面操作

git分支管理_第5张图片

git分支管理_第6张图片

如果分支已经被合并过则会提示已合并,当前分支内容不会改变

(2)命令行方式

在终端输入:git merge xxx(要合并的分支名)

4. 删除分支

注意:当前签出的分支无法删除,可以将其他分支签出再删除

(1)图形界面操作

git分支管理_第7张图片

(2)命令行方式

在终端输入:git branch -d xxx(要删除的分支名)

如果要强制删除则用:git branch -D xxx

5. 提交分支到远程

命令行操作

在终端输入:git push

或者输入:git push <远程主机名> <本地分支名>:<远程分支名>(冒号及后面的远程分支名可以省略)

git push失败后一般会给出解决方法,把解决方法复制粘贴也可以

6. 将远程分支合并到本地

命令行操作

在终端输入:git pull <远程仓库名> <本地分支名>:<远程分支名>(冒号及后面的远程分支名可以省略)

这行命令相当于git fetch 和 git merge的合体

git fetch 是从远程仓库拉取最新的更新

git merge 是将获取到的更新合并到本地仓库中(在合并分支部分有说到)

7. 处理冲突

发生冲突的场景

1. 从远程拉取代码到本地

2. 在本地合并代码

...

为什么会发生冲突?

根本原因就是:两个分支在同一时间,对同一文件进行了修改。在这种情况下合并分支就会发生冲突

解决方法

1. 中止合并

git分支管理_第8张图片

2. 继续合并(如果有多处冲突,就依次处理)

(1)在冲突的位置,决定选择哪个分支的修改

git分支管理_第9张图片

(2)在冲突的位置进行新的修改

git分支管理_第10张图片

对内容进行修改:

选择一:将两个修改都加入,并自己进行排序先后

git分支管理_第11张图片

选择二:参考或不参考两边的修改,自己写新的,但是建议提前与他人沟通好

git分支管理_第12张图片

8. 其他常用命令

1. git status --> 查看当前分支状态

2. git branch --> 查看本地分支

3. git branch -r --> 查看远程分支

4. git branch -a --> 查看所有分支(本地和远程)

5. git checkout xxx --> 将xxx分支签出

6. git checkout -- file -->将该文件恢复到最新的存储节点

7. git checkout --.  -->将该分支项目的所有修改文件都恢复到最新的存储节点

(效果就是把你变蓝的文件(有修改的文件)回滚到变白的文件(未修改前的文件))

你可能感兴趣的:(git)