我有工作目录(#1),其中有供应商目录(#2)。我想在没有 composer 的情况下手动提取一个依赖项(npm/gem 的 php 版本)。当我决定要更新 #2 中的库时,我在 #1 中工作,尚未保存/提交更改。我导航到 vendor/myname,并做了 git pull 存储库。
不幸的是,它开始合并到#1,而不是在供应商文件夹中创建新目录。
我现在有:
#1 包含我的更改的文件夹
#1文件夹,其中包含我不希望来自错误存储库的文件
#1 合并冲突如composer.json、Readme.md...(通用文件)
我想“撤消”最后一次 git pull 而不会丢失我对文件夹 #1 所做的任何更改。我怎样才能做到这一点?
git merge --abort
可能就是您要查找的内容。
现代 Git:
git merge --abort
年长者:
git reset --merge
老派(警告:将丢弃所有本地更改):
git reset --hard
但实际上,值得注意的是,鉴于存在 MERGE_HEAD
,git merge --abort
仅等同于 git reset --merge
。这可以在 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
在日常工作中更有用。
使用 Git 2.10(2016 年第三季度),您将知道该怎么做,因为 git status
将提出 git merge --abort
选项。
请参阅 Matthieu Moy (moy
) 的 commit b0a61ab(2016 年 7 月 21 日)。
(由 Junio C Hamano -- gitster
-- 在 commit 5a2f4d3 中合并,2016 年 8 月 3 日)
状态:在适当的时候建议'git merge --abort' 我们已经在冲突的rebase期间建议'git rebase --abort'。同样,在“git merge”的冲突解决期间建议“git merge --abort”。
不定期副业成功案例分享
git status
确认。-