Reset other branch to current without a checkout

后端 未结 3 666
天涯浪人
天涯浪人 2020-12-04 07:27

I\'m writing some scripts for my Git workflow.

I need to reset other (existing) branch to the current one, without checkout.

Before:

 Current         


        
相关标签:
3条回答
  • 2020-12-04 07:52

    You can sync with this command your branches at any time

    $ git push . CurrentBranch:OtherBranch -f
    

    Also without -f it replace this set of commands

    $ git checkout OtherBranch
    $ git merge CurrentBranch
    $ git checkout CurrentBranch
    

    It can be useful when you don't need commit all your files in CurrentBranch and so you can't switch to another branches.

    0 讨论(0)
  • 2020-12-04 08:04

    Set otherbranch to point at the same commit as currentbranch by running

    git branch -f otherbranch currentbranch
    

    The -f (force) option tells git branch yes, I really mean to overwrite any existing otherbranch reference with the new one.

    From the documentation:

    -f
    --force

    Reset to if exists already. Without -f git branch refuses to change an existing branch.

    0 讨论(0)
  • 2020-12-04 08:07

    The workflows you describe are not equivalent: when you perform reset --hard you lose all the changes in the working tree (you might want to make it reset --soft).

    What you need is

    git update-ref refs/heads/OtherBranch refs/heads/CurrentBranch
    
    0 讨论(0)
提交回复
热议问题