Git:从master到远程分支进行更改

时间:2015-03-25 22:54:27

标签: git rebase git-remote

我正在开发一个项目,我们有开发分支机构。假设我们有分支:master, A, B

让我们说历史现在看起来像这样:

   7  
   |   
   6  merge commit
   |/ |
   4  |
   |  |
   3  |
   |  |
   a  5   b
    \ | /
      2 
      |
      1
      |
      m

其中m,a和b是分支,数字只是提交。所以我在master上做了一些工作,然后创建了分支a,然后在一个AND上完成了一些工作,然后在a上完成了一些工作然后合并了。

**问题是:**将提交5放入分支a的正确方法是什么?

如果是本地分支,我可以

git checkout a
git rebase master

但是a是一个远程分支,我知道像这样混淆远程历史是不安全的。从master获取更改的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

  1. 创建一个本地分支跟踪远程/ a
  2. git checkout a
  3. git merge master
  4. git push
  5. 你已经合并过一条路;是否有一个特定的原因,你直接进入rebase而不是在另一个方向合并?

    是不是因为您之前使用过其他一些VCS并发了合并?如果是这样,我可以向你保证,git完全有能力找到共同的祖先并在这里进行合理的合并。

答案 1 :(得分:2)

将master合并到:

git checkout a
git merge master

做了一千次,没问题。