git - 中止 git merge 并返回到未提交的工作

标签 git git-merge git-pull git-stash

这是我的情况:

我忘了 pull ,我开始做我的项目。我今天早上所做的工作与我上次在该存储库上的提交完全不同。

我正在提交,系统提示我 pull ,此时我意识到我将遇到大量无法解决的冲突。

我 pull 了,我的项目现在一团糟。 有没有办法回到我在执行 pull 之前所做的工作?

不恢复到上次提交,因为我会丢失今天所做的所有工作,但只需将所有困惑的内容 stash 起来并返回到 5 分钟前?

最佳答案

首先,中止未完成的 merge :

git merge --abort

然后,撤消您的最后一次提交(导致冲突的提交):

git reset HEAD^

这会将您在提交中所做的更改保留在工作树中,以便您可以继续编辑。

关于git - 中止 git merge 并返回到未提交的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36373181/

相关文章:

git - 无法 pull .gitignore 文件

php - 从 git 中 pull 出一个 yii 项目后 composer update 中的问题

git:忽略从 remote1 pull 的文件,但将本地版本推送到 remote2

git - 使用 Git 获取 merge 代码 "right"

git - 如何覆盖 git merge 中的 merge-base?

git clone 与 git pull

bash - 如何制作检查提交消息的 git 预提交 Hook ?

git - Azure DevOps : Pipeline Trigger CI build on branch in different repositories

git - "-X theirs"选项似乎不适用于某些 Git 冲突

visual-studio-2010 - 从 GIT pull 时自动包含新添加的文件