【发布时间】:2014-04-14 14:54:59
【问题描述】:
我们为所有用户使用一个分支。用户每次尝试推送时,都需要先拉取其他更改。这导致 git automerge 在大多数情况下都可以正常工作。
昨天,我们的一位用户执行了上述操作,结果导致冲突,导致自动合并失败。现在,该人解决了冲突,而不是将所有文件作为此合并的一部分提交,而是仅提交和推送冲突的文件(在解决它们之后)。
这导致了一种情况,他未提交的所有文件现在在远程仓库中显示为旧文件。
更改仍然存在于他的机器上,如果我们转到文件历史记录但没有被拉出,我们也可以在 git 中看到它们。
有什么办法吗?
顺便说一句,我们不使用 --rebase 或 --ff-only 选项。
【问题讨论】:
-
尝试将分支重置为较早的提交。
-
或樱桃挑选所有被覆盖的提交并再次推送它们
-
更改已经在远程。重置会在我的本地更改它们,我将如何推送? Cherry-pick 不是一个选项,丢失的更改很多,并且跨越多个文件。
-
您需要挑选每个提交并再次推送到远程,以便该提交覆盖的更改将在远程存在。
-
没有别的办法了吗?这些变化可能会持续几周。小伙子刚放假回来。顺便说一句,为什么会发生这种情况?抱歉,我是 git 的菜鸟。
标签: git bitbucket git-pull automerge