关于 git。
我有一个我们将调用的功能分支foo
。其中有许多已提交的更改和一些未提交的更改来实现一个功能。
我做了一个错误的假设,其中很多内容foo
不再可取。
我想创建一个新的功能分支,bar
没有应用任何更改foo
并手动重新实现有用的位foo
到bar
.
一旦bar
好的我会删除foo
分支。
如何在没有任何内容foo
(重新开始)的情况下创建新功能分支,同时保留其中的内容,foo
以便我可以根据需要对其进行审查?
关于 git。
我有一个我们将调用的功能分支foo
。其中有许多已提交的更改和一些未提交的更改来实现一个功能。
我做了一个错误的假设,其中很多内容foo
不再可取。
我想创建一个新的功能分支,bar
没有应用任何更改foo
并手动重新实现有用的位foo
到bar
.
一旦bar
好的我会删除foo
分支。
如何在没有任何内容foo
(重新开始)的情况下创建新功能分支,同时保留其中的内容,foo
以便我可以根据需要对其进行审查?
我认为您可以master
再次切换到那里并从那里分支。
git checkout master
git checkout -b bar
不过,您必须先提交任何未提交的更改。
(你可以隐藏,但我认为在这种情况下这不是一个好主意)。
git checkout -b bar <commit>
<commit>
您要从中分支的提交在哪里。要找到该提交,您可以使用以下命令自己检查历史图表:
git log --decorate --graph --pretty=oneline --abbrev-commit
以编程方式查找该提交(假设您从 分支master
):
git merge-base foo master
好的回答我自己的问题。我出错的地方是,在创建新分支时,我仍在功能分支中,所以我正在获取foo
.
通过提交所有内容foo
然后签出,master
我能够创建bar
并有一个新的开始。