17

简洁版本

使分支再次等于的最简单方法是什么master,丢弃任何差异?到目前为止,我只是简单地使用git branch -D wip, 后跟git checkout -b wip,但这似乎有点傻。

动机

我经常wip在我的分支旁边有一个分支master,用于“进行中的工作”。有时在这样一个分支上的工作会被“抛在后面”,当我重新发现它时,我发现我不再需要它了。当我想使用分支存储一组新的“正在进行的工作”并且我发现我只是想丢弃与 的任何差异时,通常会发生这种重新发现master,因此新的“正在进行的工作”适合顶部。找出差异不值得麻烦:上面描述的解决方案对我来说很好。有没有更好的解决方案来解决这个用例?

4

2 回答 2

21

在您的分支中尝试这个:

git reset --hard master

这将使您的分支与 master 相同,删除您可能已完成的所有提交,并丢弃暂存区域中的所有文件。

于 2012-11-21T09:19:27.107 回答
13

如果您真的想用该名称吹走以前的分支,并创建一个新分支,您可以使用:

git checkout -B wip master

使用大写版本而不是-b将导致 git 切换到命名分支,并将其重置为命名为最后一个参数的新起点。如果您当前处于所需的起点,则可以省略最后一个参数(master此处),它将默认为 using HEAD

于 2012-11-21T15:31:29.317 回答