【问题标题】:git push only one commit from branchgit push 只从分支提交一次
【发布时间】:2016-01-17 19:18:37
【问题描述】:

我在master 中有一个提交C1。之后我已经分支并在分支中提交了C2。现在我只想将提交C2 推送到master。(C1 还没有准备好被推送)怎么做..

    C2(branch)
  /
|
|
C1 (master)

谢谢..

【问题讨论】:

    标签: git git-branch git-push git-commit


    【解决方案1】:

    您可以使用git cherry-pick 并指定要合并的提交ID

    git cherry-pick C2 
    

    只会将提交 C2 合并到主分支中

    【讨论】:

      【解决方案2】:

      首先,您的措辞有点令人困惑:在谈到push 时,总是涉及到一个遥控器。所以你不是git pushbranchmaster 而是到origin/master

      如果我理解正确,这里是如何将一个提交从您的分支 branch 推送到 origin/master

      从您上次推送的修订版中查看一个新的本地分支 tmp-for-pushing

      git fetch origin && git checkout -b tmp-for-pushing origin/master
      

      Cherry-pick C2 进入这个分支:

      git cherry-pick C2
      

      发布这个单一的提交:

      git push origin tmp-for-pushing:master
      

      到目前为止,您已更新遥控器,但我们需要再次清理。

      再次结账:

      git checkout master
      

      扔掉你的临时分支

      git branch -D tmp-for-pushing
      

      将 master 重新定位到更新后的 origin/master

      git fetch origin && git rebase origin/master
      

      将 C2 重新设置为更新后的 master(如果 C2 是那里唯一的提交,则 C2 在此之后将等于 master

      git checkout branch && git rebase master
      

      【讨论】:

        猜你喜欢
        • 2016-01-04
        • 1970-01-01
        • 2021-11-28
        • 2012-08-31
        • 2017-06-19
        • 2022-07-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-25
        相关资源
        最近更新 更多