如何用Git将分支分成两部分?

fel*_*omi 3 git branch split cut rebase

我已经建立了一个feature分支master,然后在某个时候意识到从这个分支开始一个新的分支会更好.

那么,如何在特定提交中将分支分成两部分?

让我用这个小模式解释一下:

我有这个:

master ???????????????????????????????
              \                    
               \                   
        feature ???????????????????
                         ?         
                         ?         
                    split here         
Run Code Online (Sandbox Code Playgroud)

我希望这个:

master ???????????????????????????????   
              \                       
               \                      
        feature ??????????            
                          \           
                           \          
              feature-test  ???????
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 8

第一步是创建feature_test在哪里feature:

git checkout feature
git checkout -b feature-test
Run Code Online (Sandbox Code Playgroud)

但您需要重置feature<sha1 split here>:

git checkout feature
git reset --hard <sha1 split here>
Run Code Online (Sandbox Code Playgroud)

请注意,如果您已经推动feature,则需要执行此操作git push --force.
对于可能已经退出的其他合作者而言,这可能会带来不便origin/feature.