Git撤消合并尝试

我有工作目录(#1),其中有供应商目录(#2)。 有一个依赖,我想拉手动没有composer php(PHP版本的NPM /gem)。 我在#1工作,没有保存/提交更改,当我决定要更新#2的图书馆。 我导航到供应商/ myname,并没有git拉仓库。

不幸的是,它开始拉和合并到#1,而不是在供应商文件夹中创build新的目录。

我现在有:

  • #1文件夹与我的更改
  • #1文件夹,我不想从错误的存储库中find文件
  • #1合并冲突,如composer.json,Readme.md …(一般文件)

我想“撤消”这最后一个git pull,而不会丢失我对文件夹#1所做的任何更改。 我怎样才能做到这一点?

git merge --abort可能是你在找什么。

现代Git:

 git merge --abort 

老年人:

 git reset --merge 

老学校(警告:将放弃所有您的本地更改):

 git reset --hard 

但实际上,值得注意的是, git merge --abort只相当于git reset --merge因为MERGE_HEAD存在。 这可以在合并命令的git帮助中读取。

 git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present. 

合并失败后,当没有MERGE_HEAD ,可以用git reset --merge取消失败的合并,但不一定要用git merge --abort所以它们不仅仅是旧的和新的语法 。 就我个人而言,我发现git reset --merge在日常工作中更加有用。

随着Git 2.10(2016年第三季度),你会知道该怎么做,因为git status会提出git merge --abort选项。

见Matthieu Moy( moy )的 提交b0a61ab (2016年7月21日) 。
(由Junio C gitster合并- gitster -在提交5a2f4d3 ,2016年8月3日)

status :在适当的时候build议' git merge --abort '

我们已经build议在发生冲突的情况下进行“ git rebase --abort ”。
同样的,在' git merge '的冲突解决中提示' git merge --abort '。