git - 如何强制从远程服务器 check out 最新版本?

标签 git

我在 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/

相关文章:

git - 如何确定哪个父级是 Git 中 merge 提交的第一个父级

git - 如何在 Git 中将以前的版本恢复为新提交?

git——为某些用户锁定主分支?

git - 我可以将 .gitmodules 文件放在子目录中吗?

git - 既然 SHA1 被破坏了,签署 Git 提交哈希的替代方案?

ruby - "/usr/bin/env: ruby_executable_hooks: No such file or directory"怎么解决?

Git rebase递归分支

Gitignore 双星模式不起作用

git - 获取有关 SHA-1 提交对象的信息?

python - 在 Python Dulwich 中向远程添加标签/推送标签