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
'。