【Git】05 分支管理

查看所有分支:

git branch

Git将列出所有分支,如果是当前使用的分支,前面会加一个星号表示

【Git】05 分支管理

创建一个新的分支:

git branch 分支名称

【Git】05 分支管理

创建一个分支并且指向该分支:

git checkout -b 新的分支名称

【Git】05 分支管理

切换分支:

git checkout 已有的分支名称

【Git】05 分支管理

删除分支:

注意,删除分支需要先离开这个分支才能执行删除

git branch -d 分支名称

【Git】05 分支管理

切换到仆人分支,再删除女仆分支

【Git】05 分支管理

在仆人分支下查看text.txt文件是可以的,即每一个分支都有同一个的工作区:

【Git】05 分支管理

在这个分支进行提交:

这是在文件没有改变的情况下提交,似乎两个分支都共同具备这个版本

【Git】05 分支管理

但是更改文件之后的提交:

vim text.txt
insert new content
:wq

git add .
git commit -m ‘仆人分支的第二次提交‘

分支会显示标注出来属于哪一分支下的版本:

【Git】05 分支管理

如果切换回Master主分支之后查看文件,会发现,主分支下的文件还是之前的样子

【Git】05 分支管理

现在Master主分支和Servant仆人分支是不一样的情况

我们可以将其他分支合并到主分支中


合并使用MERGE命令 将指定分支的版本合并到Master

git merge 分支名称

【Git】05 分支管理

我们可以回忆下,在Servant分支上提交的时候,HEAD会指向最新提交的版本,因此,合并HEAD指向的版本保持不变

最新版本的工作区文件记录也会更新过来:

【Git】05 分支管理

分支版本冲突:

现在在Master主分支上提交一次版本:

【Git】05 分支管理

回到Servant分支:

在text.txt文件上添加修改并且提交

【Git】05 分支管理

再回到Master主分支上查看文件:

【Git】05 分支管理

现在合并Servant的版本:

就发现Git反馈错误了,自动合并失败,修复那些提交的结果

【Git】05 分支管理

查看文件:

【Git】05 分支管理

仓库状态还是一个未跟踪的一个状态

【Git】05 分支管理

我们可以把它提交,解决合并冲突:

可以看到Master的分支正常了

【Git】05 分支管理

冲突问题?

先合并

再手动解决

再添加

再提交

真实开发环境的分支操作:

【Git】05 分支管理

相关推荐