起因

今天博主的一个同事git分支不显示,但服务器上可以看到存在。很奇怪我是用git branch -r查看也不存在。

解决

git是分布式的这个设计思想。每个git版本库彼此是独立的,默认是没有通知机制的,任意一个版本库更新了,其他人压根不知道,git也不会主动联网去获取更新——因为Linus大神设计git就是为了避免SVN/CVS必须联网才能使用的诟病。clone之后,每个人得到的都是完整的一份版本库的拷贝,因此就算中央仓库挂掉了,随便找个人的版本库放上去就能恢复了。

因此git同步版本库一定是手工操作的,对应的命令就是fetch(本地同步远程)和push(远程同步本地)。

所以想要看到远程分支,必须使用git fetch获取远程更新之后再看。

别被branch命令输出的origin/branch的名字给误导了,这玩意其实还是本地分支,数据存储在本地.git/目录下,你试试把远程分支干掉了这玩意一定还在。

标签: git

添加新评论