我有一个应用程序的 GIT 存储库。该应用程序启动了一个长时间运行的进程,我想让它在后台继续运行。
当我对任何应用程序配置文件进行更改、提交这些更改,然后 git-push 这些更改时,一切正常。长时间运行的进程会获取我推送的配置更改。
但有时,我在提交历史记录中犯了一个错误,并通过 rebase 清除了这些提交。然后我使用 git push -f 强制清除更改。这样做会终止长时间运行的进程。
为什么会这样?
据我了解,当我 git-push 提交时,它只会更改我编辑过的代码行。
我是否正确地认为使用 git push -f 改变的不仅仅是我已清除的提交中的行?我怀疑 git push -f 命令也会刷新(尽管没有更改)存储库中的其他应用程序文件(如果不是全部的话),这就是进程在回滚尝试中终止的原因...
有人有明确的答案吗?
最佳答案
尽管我仍然有怀疑,但我认为该问题可能只是由于不小心提交而导致的,该提交覆盖了该进程所基于的文件。
如果我发现任何新的东西(尽可能),那么我会更新答案。 感谢您的帮助。
更新:
我很确定现在不是 GIT。这是因为长时间运行的进程将消息打印到终端。当我测试 GIT hook 时,我总是打开 SSH 终端,因此程序运行良好。但是当我关闭终端并从远程计算机进行上游推送时,应用程序没有终端来打印消息......
呵呵。
对此的解释似乎有效。
关于linux - 在远程存储库上使用 'git push -f' 是否会刷新整个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23652949/