【Git】05 分支管理

查看所有分支:

git branch

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

创建一个新的分支:

git branch 分支名称

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

git checkout -b 新的分支名称

切换分支:

git checkout 已有的分支名称

删除分支:

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

git branch -d 分支名称

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

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

在这个分支进行提交:

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

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

vim text.txt
insert new content
:wq

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

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

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

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

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


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

git merge 分支名称

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

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

分支版本冲突:

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

回到Servant分支:

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

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

现在合并Servant的版本:

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

查看文件:

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

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

可以看到Master的分支正常了

冲突问题?

先合并

再手动解决

再添加

再提交

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

BUG分支:

如果需要从正在开发的分支中切换到Master分支,没有提交的文件都将会被所有分支访问到

为了解决这个问题Git提供了stash命令,可以把暂存区中没有提交的文件锁定

这个文件将不会再访问到

等BUG修复,再回来恢复锁定的文件:

git stash list 查看锁定文件
git stash pop 弹出锁定

 

原文地址:https://www.cnblogs.com/mindzone/p/13500748.html