Git branch pull搞砸了

时间:2011-12-17 02:33:19

标签: git

我对git比较新,所以这个问题可能是我自己的错。但在我的拙见中,它太脆弱了。任何恢复损害的建议都将受到赞赏。

这是我的分支机构。

Machine A (Mac):
  master
  couch

Machine B (Windows):
  master

在机器B上,我试图从机器A拉出主分支和沙发分支。不幸的是,我忘了我还没有在机器B上创建沙发分支。这是我在机器B上做的。来源设置为机器A.

git pull origin master
git pull origin couch

令我惊讶的是,git自动将沙发分支合并到机器B上的主人!我的期望是git在机器B上为我创建沙发分支,如果它不存在的话。

如何撤消合并?我还没准备好将沙发分支合并为主人。我将在机器B上完全删除它并从机器A再次克隆。我只是好奇是否有更好的解决方案。

1 个答案:

答案 0 :(得分:4)

git pull origin couch

将从机器A获取沙发分支并将其与当前分支合并,在您的情况下将是主分支,这就是您看到沙发合并为主分区的原因。您所要做的就是简单的git pull,然后是git checkout -b couch origin/couch

只需git reflog,看看您的主人之前在哪里,并git reset --hard <sha from reflog>或类似git reset --hard HEAD@{2}

或者你可以git reset --hard ORIG_HEAD