代码之家  ›  专栏  ›  技术社区  ›  Maxim Veksler

请求包含来自主服务器的提交

  •  1
  • Maxim Veksler  · 技术社区  · 7 年前

    一周前我从师父那里分出了一个部门。

    master -> my_branch_1
    

    在这段时间里我承诺 my_branch_1 同时也在 origin/master 好几次跟得上。

    分行ATM状态(概念化)

    commit0
    master -> my_branch_1
    
    master:
       commit1
       commit3
       commit10
    
    my_branch_1 (commits from master are marked with *)
       commit1*
       commit2
       commit3*
       commit4...commit9
       commit10
    

    当我试图打开一个公共关系 master . PR日志显示所有提交 1...10 ,而我只希望提交 2, 4...9 就会出现。

    1. 我做错了什么?
    2. 我该怎么解决?

    --编辑--

    澄清 origin 评论中的讨论。我们的目的是接受师父对我的承诺。

    这是我想要的结果 主人 “尽可能与代码库的其他部分保持同步。

    我不想让这些承诺 主人 出现在我的公关中 主人

    --编辑2--

    这个问题与托管在GitHub上的私有repo有关。不是叉式回购。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Caleb    7 年前

    我做错了什么?

    听起来像是你从 origin/master 而不是重新调整,至少 commit3 .

    我该怎么解决?

    首先,从分支创建一个备份分支,以防出现问题。你可以从你现在的分支创建一个新的分支。例如,如果您在正在处理的分支中,您可以:

    git checkout -b my_branch_1_backup
    

    创建一个新分支,然后 checkout 回到你的工作部门:

    git checkout my_branch_1
    

    第二,再次放松。我先做一个交互式的回扣,然后删除你不想要的提交。使用 -i 标记以交互方式重新定位,例如:

    git rebase -I commit1
    

    这将为您提供一个提交列表,返回到 commit1 你可以编辑,比如:

    pick commit2
    pick commit3
    pick commit4
    

    等等。如果你不想 委员会3 (因为它已经在 master ),更改 pick commit3 drop commit3 . 编辑器中的注释中将有其他选项的列表。一旦你确定了提交列表,保存并退出编辑器,然后做一个:

    git log
    

    您应该看到日志反映了您的更改。

    最后,你可以回到 原点/主 ,这将使git在 主人 然后将您的承诺添加到 主人 :

    git rebase origin/master
    

    再次检查日志,您将看到来自 主人 在你的日志中,但是在你的分支中添加提交之前。

    此时,拉取请求应该只包括您在分支中添加的提交。

    推荐文章