如果我在本地工作,并且需要在远程主分支上获取最新代码,一种方法是切换到本地主服务器并执行git pull。但是,这仅获取本地主机HEAD之后的更改。如果更改远程主服务器,在本地HEAD之前的底层提交也被修改,我怎样才能获得它们,而不需要再次进行整个git克隆?
答案 0 :(得分:0)
git pull -f
如果我记得,它应该做你所寻求的,它会覆盖确保你只拉动后代的检查,并强制破坏当地的差异。
答案 1 :(得分:0)
我猜有人在您使用代码时添加了对远程主服务器的更改,并且您想要一种简单的方法将这些更改添加到您的(主)分支。 请使用
git pull --rebase
或定位特定分支
git pull --rebase <origin> <target branch>
例如
git pull --rebase origin master
为什么要坚持?如果要保持提交历史记录清洁,请使用rebase。 Rebase使您的远程提交历史记录保持清洁。合并汇总更改并丢失提交历史记录。您可以查找简短explanation about differences。
在理想世界中,您和其他已编辑的文件或部分不会重叠。在rebase之后应该没有冲突。但我们并不是生活在一个完美的世界。
如果有冲突,你必须解决它们。
从命令行可以使用
git mergetool
解决疑惑。设置合并工具是another question。解决冲突后,请记住tell it to git repository。型
git rebase –continue
现在您应该继续编码,或者您可以将更改提交到远程分支。