ewo*_*com 81 git git-pull git-merge
我有工作目录(#1),其中包含供应商目录(#2).有一个依赖项,我想手动拉动没有composer(php版本的npm/gem).我在#1工作,没有保存/提交更改,当我决定要更新#2中的库时.我导航到vendor/myname,并做了git pull repository.
不幸的是,它开始拉动并合并到#1,而不是在vendor文件夹中创建新目录.
我现在有:
我想"撤消"最后一个git pull而不会丢失我对文件夹#1所做的任何更改.我怎样才能做到这一点?
Mar*_*n G 17
现代Git:
git merge --abort
Run Code Online (Sandbox Code Playgroud)
老年人:
git reset --merge
Run Code Online (Sandbox Code Playgroud)
老派(警告:将丢弃所有本地更改):
git reset --hard
Run Code Online (Sandbox Code Playgroud)
但实际上,值得注意的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.
Run Code Online (Sandbox Code Playgroud)
合并失败后,如果没有合并,MERGE_HEAD
则失败的合并可以撤消,git reset --merge
但不一定是撤消git merge --abort
,因此它们不仅是同一事物的旧语法和新语法.就个人而言,我发现git reset --merge
在日常工作中更有用.