我想从远程控制器获取所有分支,然后在对主分支的任何更改时重新绑定当前分支。
要做到这一点,出于某种原因,我需要首先签出master,pull,然后返回我当前的分支进行rebase。无论如何都可以在不必切换分支的情况下执行此操作吗?
以下是工作流程:
> git check_out main
> git checkout my_branch
> ...
> # do some work on my_branch
> ...
然后要对master的最新更改进行修改,我可以执行以下操作:
> # Update my master with remote master
> git checkout master
> git pull
> git checkout my_branch
> git rebase master
> git pull # Or git fetch
> # It complains with "There is no tracking information for the current branch"
> git rebase master
如何在没有切换分支的情况下对master进行rebase?
答案 0 :(得分:3)
您可以使用git rebase origin/master
对已获取的主分支进行变基(如果远程名称是原点)。
虽然您的本地master
分支机构不会更新,但是一旦您将其检出并拉出它们,它们就会同步。
答案 1 :(得分:2)
关于此操作的事情是您尝试更新2个本地分支(您的master
分支和my_branch
),其中任何一个分支可能有冲突要处理 - 直到您从远程获取的更改您不知道远程主控是一个干净的快进。
由于冲突只能使用工作副本解决,因此您需要从相应的本地分支执行每个合并/变基。