拉&来自当地分支机构的退款

时间:2013-08-05 21:14:32

标签: git

我想从远程控制器获取所有分支,然后在对主分支的任何更改时重新绑定当前分支。

要做到这一点,出于某种原因,我需要首先签出master,pull,然后返回我当前的分支进行rebase。无论如何都可以在不必切换分支的情况下执行此操作吗?

以下是工作流程:

> git check_out main
> git checkout my_branch
> ...
> # do some work on my_branch
> ...

然后要对master的最新更改进行修改,我可以执行以下操作:

选项1:

> # Update my master with remote master
> git checkout master
> git pull
> git checkout my_branch
> git rebase master 

选项2(不切换分支)。它似乎不起作用:

> git pull # Or git fetch
> # It complains with "There is no tracking information for the current branch"
> git rebase master 

如何在没有切换分支的情况下对master进行rebase?

2 个答案:

答案 0 :(得分:3)

您可以使用git rebase origin/master对已获取的主分支进行变基(如果远程名称是原点)。

虽然您的本地master分支机构不会更新,但是一旦您将其检出并拉出它们,它们就会同步。

答案 1 :(得分:2)

关于此操作的事情是您尝试更新2个本地分支(您的master分支和my_branch),其中任何一个分支可能有冲突要处理 - 直到您从远程获取的更改您不知道远程主控是一个干净的快进。

由于冲突只能使用工作副本解决,因此您需要从相应的本地分支执行每个合并/变基。