所以我在github克隆了一个项目并修复了补丁。由于这是我第一次使用git,我试图找出最好的在线方式。
在github上签出我自己的(克隆的)存储库后,只有一个分支: master 。我创建了一个分支 myfix ,它现在拥有一个提交,这是bug的修复。
在线搜索时,似乎常见/良好的做法是保持 master 不受影响,纯粹用于从真实/原始公共项目存储库中提取(即,其他人接受了贡献等等) )。但其他人提出了其他策略:
如果我遵循以上两个(虽然目前感觉有点矫枉过正)主分支的目的是什么?
Git可以执行上述任何组合(或全部)。这让我对如何轻松地向别人展示我的作品感到困惑。是否有这样的“常见”工作流程?或者它是每个人为自己而你在问题跟踪器中针对固定错误发布特定分支(推送)的具体修订?
答案 0 :(得分:7)
当您克隆存储库时,Git会自动创建remote tracking branches,以执行您为主分支所描述的内容。您可以使用以下命令列出这些远程跟踪分支:
git branch -r
由于已经为您完成了对上游存储库的跟踪,因此您通常会使用主分支来更改项目的主线。这是我在你的特殊情况下会做的事情:
答案 1 :(得分:5)
Github允许您将pull requests发送给其他存储库的所有者,并且请求说明在哪里可以找到您感兴趣的更改。这意味着您不必将所有更改保留在特定的知名分支中。
让对方轻松一点就会增加你的补丁被接受的机会,所以保持一个干净的主人作为一个共同的参考点,并在主人的分支上做出改变。保持你的分支狭窄:不要在一个分支中堆积113个新功能,而是将它们分开,以便干净利落。