也许我对Git-Flow有错误的方法......
我使用Bitbucket(git)和GitFlow工作流程。
我想知道,即使在合并了其他分支功能之后,即使在合并了其他分支功能后,是否可以在与开发分支合并之后完全删除功能分支的源更改
编辑:我试着更好地解释。我不想删除功能分支,我想删除功能分支带来的所有更改。
我认为如果我的功能分支是最后一次操作,我可以恢复。 但如果: - 我已经完成了我的功能分支在develop-branch上的合并 - 其他功能已在develop-branch上合并
并且只有在此操作之后我才需要删除我的第一个功能而不丢失任何其他功能,这是可能的吗?
谢谢,Ruggero
答案 0 :(得分:1)
在解释您的问题时,您要撤消将featurebranch
合并到develop
。
这应该可以使用
git checkout develop
git revert mergecommit -m 1
其中mergecommit
是实际合并提交的哈希值(如git log
所示)。
git help revert
中有一个警告:
-m parent-number, --mainline parent-number
Usually you cannot revert a merge because you do not know which side of the merge should be considered the
mainline. This option specifies the parent number (starting from 1) of the mainline and allows revert to reverse
the change relative to the specified parent.
Reverting a merge commit declares that you will never want the tree changes brought in by the merge. As a
result, later merges will only bring in tree changes introduced by commits that are not ancestors of the
previously reverted merge. This may or may not be what you want.
所以:
git log
,找到Merge: aaaaa bbbbb
行,然后相应地选择-m 1
或-m 2
。-n
选项以避免自动提交,以避免在出现问题时出现一些麻烦。