【问题标题】:How to branch and merge properly with Git?如何使用 Git 正确分支和合并?
【发布时间】:2012-09-18 10:04:43
【问题描述】:

我已经搜索了所有其他网络并阅读了许多说明,但它无法正常工作和/或表现出我的预期。

我在 master 中工作,刚刚完成了我项目的 0.1 版本的工作,我想从它分支出来,以便获得一个易于访问的 0.1 快照。我目前在 master 工作,所以我跑了:

git branch 0.1

这很好地在我的机器上创建了一个分支,但我一生都无法弄清楚如何推送它。我最终跑了:

git config push.default current

现在我可以使用以下方式在项目之间切换:

git checkout

我能够很好地推送它们,并且在 github 上有两个分支。然后我在 0.1 中添加了一个日志文件,它简单地说“0.1 快照测试”,提交并推送它。然后我决定我想要那个登录到 master 分支,所以我跑了:

git merge 0.1

然后我推了它。这现在在我的机器上保留了 0.1,但从 github 中删除了 0.1。编辑:实际上它似乎仍在 github 上,只是在查看整个母版页时被隐藏了。

我想我不太确定应该如何使用 git 来跟踪以前但已完成的版本。我应该分支和合并哪个顺序?是不是因为我在师父工作,所以搞糊涂了?我通读了所有这些,但它让我更加困惑:http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

【问题讨论】:

    标签: git github merge branch


    【解决方案1】:

    您的问题只与推送有关?

    你可以这样做:

    git push origin master
    git push origin 0.1
    -- or all
    git push --all origin
    

    甚至对于所有分支:

    Set up git to pull and push all branches

    【讨论】:

      【解决方案2】:

      我真的很喜欢 Git 流的工作方式。当然,您可以手动执行所有分支、合并和标记步骤,但在我看来,Git 流程更清楚地说明了这一点:

      http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/

      http://nvie.com/posts/a-successful-git-branching-model/

      【讨论】:

        【解决方案3】:

        当你在 git 上创建一个新分支时,第一次推送应该引用原点:

        git push origin 0.1
        

        希望我能正确回答这个问题。

        【讨论】:

          【解决方案4】:

          如果推送没有像你期望的那样自动工作,你总是可以明确的:

          git push origin localBranchName:remoteBranchName
          

          这会将本地分支推送到远程分支,如果远程服务器上没有这样的分支,则会创建它。

          您可以使用类似的语法删除远程分支:

          git push origin :remoteBranchName
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-04-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-16
            • 2023-03-06
            • 2018-08-06
            相关资源
            最近更新 更多