2013-04-23 51 views
1

我在分支上做了一些愚蠢的修改。如何在没有结帐的情况下让git丢弃分支?

我可以删除分支,没问题。

但是我不能这样做。

所以,我不希望这些变化了。

如果我commit,我checkout我的“好分行”,修改后的引用将成为过去。

我希望不会发生。

我该如何正确地删除和忽视这些变化?

回答

5

你可以做

git reset --hard 

它将恢复更改修改的文件。

此外,如果你想删除所有未跟踪文件和目录,然后执行

git clean -fd 
1

运行

git checkout . 

然后切换到你想要的任何分支。

+0

这似乎是一个非常好的解决方案。这将检查在哪里? – MEM 2013-04-23 15:51:35

+0

它只会将更改恢复到最新的提交。 – Headshota 2013-04-23 15:52:16

+1

'git checkout .'不起作用,如果你已经进行了更改(分阶段更改保持不变) – tessi 2013-04-23 15:54:49

1

执行以下操作,来获得一个干净的状态,并删除你的分支:

git reset --hard # resets git staging and your tracked files to the last commit 
git clean -fd # deletes untracked files (this is optional) 
git checkout master 
git branch -D <branch to remove> 
0

您可以git reset --hard丢弃在树枝上的所有电流变化(如果你有未跟踪文件,你也可以做git clean -f)。

之后,您可以git checkout任何其他分支,然后删除违规的分支。 (提交本身会保留在存储库中一段时间​​,但它们很难找到。)

相关问题