2015-02-24 94 views
6

我有拉到不同于分支的分支。这两个分支是不同的,但合并发生在我目前的分支上。我目前正在“master”分支上工作,并且已经更新了远程分支 - “FE_Changes”的更改。撤消主分支上的错误分支的git拉

如何从主分支中删除“FE_Changes”分支的影响?

+0

你在使用git和IDE吗?终奌站?或类似的东西? – acostela 2015-02-24 12:42:17

+0

是的我实际上使用Git扩展。当我在“主”分支中插入“FE_Changes”分支时发生这种情况。我应该使用的是结账对话框。 – OverTheEdge 2015-02-24 12:48:16

+0

你可以显示以下命令的输出(尽可能多): git log --all --graph --oneline --decorate 假设提交日志中没有敏感信息,当然...它应该有助于澄清究竟发生了什么 – mephisto 2015-02-24 12:48:28

回答

7

git reset --hard HEAD~1

这将核弹最近在当地分行承诺。假设你的pull策略是合并的,那么你的本地master分支应该只有一个流氓提交。你提到“合并默默发生”,所以这应该适用于你的情况。一旦你修复了主分支,你可以再次拉动,这次确保你从正确的远程分支拉。

+0

哇,我必须说我在Git Extensions GUI上做了一些疯狂的事情,比如退出起源/主人,git res et(头部不是HEAD〜1),但是这个重写并且带来了变化。更重要的是,我现在可以再次从远程获得最新的“主”更新。现在在我的本地“主”分支中看不到“FE_Changes”分支所做的更改。非常感谢蒂姆。 – OverTheEdge 2015-02-25 03:47:58

4

除了添的回答是: 如果你想重置为特定承诺:

git reflog 

会告诉你所有近期提交

的IDS然后你就可以执行:

git reset --hard <specific id> 

重置为该特定的提交。

+0

感谢将来会记住“git reflog”。 – OverTheEdge 2015-02-25 03:49:15