admin管理员组文章数量:1531705
2024年4月21日发(作者:)
本地分支解析
git 通过可变指针来实现对提交数据的历史版本的控制,每当我们提交新的更新,
当前分支(设为master)则指向最后一个提交更新A,而最后一个提交对象则存在
一个指针指向前一次的提交更新Q。如果我们创建一个新的分支,child,它和
master共同指向A,这时,如果我们向child分支提交更新B,我们会发现child
指向B,而master依然指向A。无论我们在child分支进行了任何开发,只要回
到master分支,就能恢复到更新A的数据状态了。
在图片里,我们还注意到有一个head指针,一般来说,它会指向我们目前所在
的工作分支。现在它指向了我们的master分支,意思是master是我们目前的
工作分支。一旦提交更新,就会在master分支上提交。现在,让我们看看与git
分支有关的操作命令:
1. git branch [option] [name]
如果不使用任何参数,它可以用来查看所有的分支,而在分支名前有*标记的则为
主分支,如果加上name为创建新分支,,如
git branch child
,则会创建一个名为child
的分支,此外,它有一些常用的参数:
参数
-v
-d
-r
-a
–merge
解释
用于查看各个分支的最后一次commit信息
删除分支。
查看远程主机分支
查看所有分支。
查看哪些分支已被当前分支合并
查看尚未合并的工作,如果其中的分支还包含尚未合并的工作,而我们尝试使用
git
branch -d
删除时,我们会被提示:
error: The branch 'xxxxx' is not an ancestor of your
–no-merge
current HEAD.
,如果想要强制删除的话,可以使用git branch -D xxxxx,即使用大写
的D来实现。
2. git checkout [name]
切换到对应的分支,对于上图,如果我们是使用 git checkout child,我们的head
指针就会指向child分支了。这时候,如果我们提交新的更新D,我们会发现:
我们的D指向C,而C依然指向A,也就是说,以后我们在child分支上做的任
何更新,都不会对master分支所在的之路造成任何影响!一旦使用了checkout
版权声明:本文标题:git分支原理命令图文解析 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1713687590a366102.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论