1

我对 Git 不是很熟悉。我已经掌握了基础知识,但仅此而已。

无论如何,我的朋友带我完成了合并这 3 个分支的过程。不过,他让我自己运行 mergetools 部分。我没有正确进行合并,但已经推送了更改。有什么方法可以撤消我的更改,使其恢复为 3 个不同的分支,然后再次合并?

编辑*

不是 100% 确定它是否重要,但其中 2 个分支来自上游。

4

2 回答 2

1

找出最后一个干净状态的提交 ID(即合并前的提交),例如git log并重置为那个。

git reset --hard abcdef01

之后,强制推送你的旧状态。

git push -f origin

请注意: reset --hard将丢弃未暂存的更改,因此请确保有一个干净的工作目录。git stash如果不确定,请执行。此外,如果您没有对合并状态做任何进一步的工作,即从那时起您没有提交任何内容,这只会毫无问题地工作。

手册页:

于 2011-07-11T14:29:22.913 回答
-1

您可以使用git revert <>,但在最后一次干净的提交和当前的head. 我不太了解 git 命令,但必须有一种方法可以打印其间的所有提交。您可以编写一些脚本来仅提取 SHA 并将它们全部还原。

不过,我对此不是 100% 确定的。:)

于 2011-07-11T14:50:42.390 回答