0

关于 git。

我有一个我们将调用的功能分支foo。其中有许多已提交的更改和一些未提交的更改来实现一个功能。

我做了一个错误的假设,其中很多内容foo不再可取。

我想创建一个新的功能分支,bar没有应用任何更改foo并手动重新实现有用的位foobar.

一旦bar好的我会删除foo分支。

如何在没有任何内容foo(重新开始)的情况下创建新功能分支,同时保留其中的内容,foo以便我可以根据需要对其进行审查?

4

3 回答 3

2

我认为您可以master再次切换到那里并从那里分支。

git checkout master
git checkout -b bar

不过,您必须先提交任何未提交的更改。
(你可以隐藏,但我认为在这种情况下这不是一个好主意)。

于 2013-05-20T23:23:44.950 回答
1
git checkout -b bar <commit>

<commit>您要从中分支的提交在哪里。要找到该提交,您可以使用以下命令自己检查历史图表:

git log --decorate --graph --pretty=oneline --abbrev-commit

以编程方式查找该提交(假设您从 分支master):

git merge-base foo master
于 2013-05-20T23:27:08.343 回答
0

好的回答我自己的问题。我出错的地方是,在创建新分支时,我仍在功能分支中,所以我正在获取foo.

通过提交所有内容foo然后签出,master我能够创建bar并有一个新的开始。

于 2013-05-20T23:27:02.247 回答