从Git分支获取最新信息
我从git存储库克隆了一些东西,并切换了分支从Git分支获取最新信息,git,Git,我从git存储库克隆了一些东西,并切换了分支 git clone ssh://11.21.3.12:23211/dir1/dir2 dir git branch branch1 我做了一些修改,在我的地方,并承诺它。其他人也做了克隆,他把它推到git存储库中 现在,我希望branch1的克隆副本在我的本地(意味着不希望我的更新,但希望他的更新)使用git pull: git pull origin yourbranch 虽然git-pull-origin-yourbrance可以工作,但是
git clone ssh://11.21.3.12:23211/dir1/dir2 dir
git branch branch1
我做了一些修改,在我的地方,并承诺它。其他人也做了克隆,他把它推到git存储库中
现在,我希望branch1的克隆副本在我的本地(意味着不希望我的更新,但希望他的更新)使用git pull:
git pull origin yourbranch
虽然git-pull-origin-yourbrance可以工作,但是 您也可以执行以下操作:
git fetch origin
git merge origin/yourbranch
第一行从原点获取所有分支,但不与分支合并。这就完成了存储库的复制
第二行将您当前的分支与您从源站
获取的您的分支
的分支合并(这是您的远程
之一)
这是假设
origin
指向存储库的地址ssh://11.21.3.12:23211/dir1/dir2
您的修改在与原始分支不同的分支中,这简化了工作,因为您在一个分支中获得更新,而您的工作在另一个分支中
假设原始分支名为master
,这在99%的git回购中都是如此,您必须获取原始状态,并将origin/master
更新合并到本地master
:
git fetch origin
git checkout master
git merge origin/master
要切换到您的分支,只需执行以下操作
git checkout branch1
如果您已从存储库中分叉,以删除分叉副本并再次从master中分叉。您的意思是像
git push origin branch1
?啊,对不起,我以为您想推送更新。不,我不想要我的更新。我只想知道他的最新情况。你只想从中心位置“获取最新信息”,对吗?--标题说明了一切。@Surendhar,说真的,试着学习fetch/merge
<代码>拉总有一天会给你带来麻烦,你会习惯于它,以至于无法更改为获取/合并
er。。。它什么也没做——它说它已经是最新的,已经在master中了,等等——我克隆这个分支已经有一年了,我知道已经有很多变化了。@brainslaugs83你克隆的不是一个分支,而是一个存储库。在执行了上面的命令之后,我注意到,在git目录中,HEAD、index和packed refs文件是不同的。这只是为了跟踪相关的分支吗?@RetroCoder您从远程存储库获取了修改,所以这些引用被更新以确认新对象是正常的。每次签出一个分支时,HEAD都会更新,或者在我合并它时创建一个新的commitw,比如说*branch master->FETCH\u HEAD。有什么解决办法吗?@NIKHILCHANDRAROY请提出一个新问题,并提供更多细节。