我在 GitHub 上有一个存储库,我会定期从本地计算机提交到该存储库。另一方面,我有服务器从存储库中提取。 Web 服务器只是执行 git pull
以便从 GitHub 存储库中获取最新更改。这是完全自动化的,应该保持这种状态(像 Ruby Tool Capistrano 这样的解决方案已经过时了)。
一个简单的 git pull
通常就可以正常工作。但是,有时我会更改最后一次提交 (git commit --amend
) 并将更改两次 git push
到 GitHub。如果服务器自动更新它在两次推送到 GitHub 之间的代码,下一个服务器端 git pull
会失败,因为存在 merge 冲突。
为了解决这个问题,我需要以下行为:服务器应该继续 git pull
(或类似的东西)GitHub 存储库,但是如果发生 merge 冲突,GitHub 存储库应该优先通过服务器上的本地存储库。所以,我想要一个 git 命令,其行为类似于 git clone
,但不会每次都复制整个存储库。
最佳答案
如果您不在那里进行任何本地修改,您当然可以执行强制 git checkout,但正确的答案是永远不要修改离开本地存储库的提交。。 p>
关于git - 如何强制从远程服务器 check out 最新版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1373304/