我有三个分支,分支a
,b
和分支HotFix
。
我当时正在分支HotFix上工作,在那里我解决了一个问题,然后接到了另一个工作的电话。我需要切换到分支b
。我隐瞒了当前的分支更改,然后在git checkout b
之后执行了git pull origin b
。
在完成更改后,git bash向我显示了合并冲突,这些确实是大量文件,我不想手动解决冲突。我丢失了本地分支机构HotFix
及其工作。有什么方法可以解决隐患,而不解决冲突。
我想寻找的是git unpull
或git reverse pull
。
答案 0 :(得分:1)
您运行的命令是git pull origin b
:这是两个命令的组合:
git fetch origin b
更新一个名为origin/b
的本地分支,git merge origin/b
尝试将第一步中获取的更改合并到本地分支b
中。第二步发生冲突:合并。虽然它们是冲突的,但合并没有完成,因此您可以使用命令git merge --abort
取消。
如果由于某种原因合并已结束,您仍然可以通过使用命令git reset --hard HEAD^
返回历史记录中的一步来撤消它。
简而言之,当您在分支机构b
上时:git merge --abort
应该可以工作,否则,git reset --hard HEAD^
可以工作。
答案 1 :(得分:0)
您需要执行两项操作。
中止合并
您可以使用
git merge --abort
;或git reset HEAD --hard
(这不是必需的获得保存的工作
HotFix
结帐git checkout hotfix
;然后git stash apply
应用存储。 祝你好运!