如何取消github更改(重置 - 硬,结帐都失败)

时间:2013-04-29 16:31:57

标签: git branch reset git-checkout

我遇到了一个问题,我无法“退出”我开始合并的分支。

  • 分支在主人后面
  • 通过签出分支,我的最后一个分支(主)中有几个文件已经提交,但在当前分支的上下文中似乎未提交

因此,运行:

$ git checkout master

给我留下错误: 错误:未经跟踪的工作树文件'a'将被合并覆盖。

我尝试过运行“git checkout - ”等命令。和“git reset --hard”希望git会“忘记”我试图将这个分支与主人或其他魔法合并,放松。

然而,我似乎永远被困在这个分支上。

3 个答案:

答案 0 :(得分:1)

Git表示工作目录中有一个文件没有跟踪,但 是您要切换到的分支跟踪的。 Git不知道您是否为其他目的创建了此文件,因此不会为您删除它。

解决方案是手动删除此文件。您还可以使用git clean删除所有未跟踪的文件。 (请注意,不要意外删除超出预期的文件!)

答案 1 :(得分:1)

首先取消合并:

git merge --abort

然后对主人强制结帐:

git checkout -f master

答案 2 :(得分:0)

尝试使用git reset .还原当前分支中的所有更改