Git:从主分支到远程分支获取更改

Git:从主分支到远程分支获取更改,git,rebase,git-remote,Git,Rebase,Git Remote,我正在做一个项目,我们有开发分支机构。假设我们有分支:master、A、B 假设历史现在是这样的: 7 | 6 merge commit |/ | 4 | | | 3 | | | a 5 b \ | / 2 | 1 | m 其中m、a和b是分支,数字只是提交。所以我在master上做了一些工作,然后创建了分支a,然后在a上做了一些工作,在mast

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

假设历史现在是这样的:

   7  
   |   
   6  merge commit
   |/ |
   4  |
   |  |
   3  |
   |  |
   a  5   b
    \ | /
      2 
      |
      1
      |
      m
其中m、a和b是分支,数字只是提交。所以我在master上做了一些工作,然后创建了分支a,然后在a上做了一些工作,在master上做了一些工作,然后在a上做了一些工作,然后合并

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

如果是当地的分支机构,我可以

git checkout a
git rebase master

但是a是一个遥远的分支,我知道像这样搅乱遥远的历史是不安全的。从母版获取更改的正确方法是什么?

只需将母版合并到:

git checkout a
git merge master

做了一千次,没问题。

只需将主机合并到一个:

git checkout a
git merge master
做了一千次,没问题

  • 创建本地分支a跟踪远程/a
  • git签出a
  • git合并主机
  • git推送
  • 你已经以一种方式合并了;有没有具体的原因让你直接去重设基础,而不是在另一个方向合并

    这是因为您以前使用过其他一些合并失败的风投吗?如果是这样的话,我可以向您保证git完全能够找到共同的祖先并在这里执行合理的合并

  • 创建本地分支a跟踪远程/a
  • git签出a
  • git合并主机
  • git推送
  • 你已经以一种方式合并了;有没有具体的原因让你直接去重设基础,而不是在另一个方向合并


    这是因为您以前使用过其他一些合并失败的风投吗?如果是这样的话,我可以向您保证git完全能够找到共同的祖先并在这里执行合理的合并。

    如果我这样合并,我将得到
    合并分支a
    从master提交到我的分支。可以接受吗?你会得到的,是的。我认为这应该是可以接受的,但这取决于您认为git日志中可以接受的内容。如果我这样合并,我将得到
    合并分支a
    从master提交到我的分支。可以接受吗?你会得到的,是的。我认为这应该是可以接受的,但这取决于你认为在git日志中什么是可以接受的。嗯……老实说,我还没有想过用另一种方式合并!!我的脑子都冻住了,真是太公平了!根据经验,对于公开可见的更改,坚持使用merge最安全,并且在推之前保持rebase以清理本地提交。明白了!谢谢!嗯……老实说,我还没有想过用另一种方式合并!!我的脑子都冻住了,真是太公平了!根据经验,对于公开可见的更改,坚持使用merge最安全,并且在推之前保持rebase以清理本地提交。明白了!谢谢!