我有工作目录(#1),其中包含供应商目录(#2)。有一个依赖项,我想手动拉动没有composer(php版本的npm / gem)。我在#1工作,没有保存/提交更改,当我决定要更新#2中的库时。我导航到vendor / myname,并做了git pull repository。
不幸的是,它开始拉动并合并到#1,而不是在供应商文件夹中创建新目录。
现在我有:
我想“撤消”最后一个git pull而不会丢失我对文件夹#1所做的任何更改。我怎么能这样做?
答案 0 :(得分:137)
git merge --abort
可能就是你要找的东西。
答案 1 :(得分:15)
Modern Git:
git merge --abort
旧版:
git reset --merge
老派(警告:将丢弃所有本地更改):
git reset --hard
但实际上,值得注意的是git merge --abort
仅等同于git reset --merge
,因为MERGE_HEAD
存在。这可以在git help for merge命令中读取。
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
在日常工作中更有用。
答案 2 :(得分:1)
使用Git 2.10(2016年第3季度),您将知道该怎么做,因为<html>
<head>
<meta class="mktoNumber" id="articleSectionSpacerBottom1" mktoname="Article heading spacer bottom" default="30" min="0" max="30" step="5">
<meta class="mktoNumber" id="articleSectionSpacerBottom2" mktoname="Article heading spacer bottom" default="42" min="0" max="30" step="5">
</head>
<body>
30
42
</body>
</html>
会提出git status
选项。
commit b0a61ab见Matthieu Moy (moy
)(2016年7月21日)
(由Junio C Hamano -- gitster
--合并于commit 5a2f4d3,2016年8月3日)
git merge --abort
:在适当时建议“status
”我们已经在冲突的rebase期间建议'
git merge --abort
' 同样,在“git rebase --abort
”的冲突解决过程中建议“git merge --abort
”。