代码之家  ›  专栏  ›  技术社区  ›  Mizipzor

使用Git进行贡献

  •  13
  • Mizipzor  · 技术社区  · 15 年前

    所以我在Github克隆了一个项目并修复了一个补丁。因为这是我第一次在Git工作,所以我想找出最好的方法把它放到网上。

    在Github上签出我自己的(克隆的)存储库时,只有一个分支: 主人 . 我创建了一个分支, 迈克斯 ,它现在保存一个提交,这是修复错误的方法。

    • 我现在应该 我在Github上克隆的项目的所有内容?我认为这将创建分支 迈克斯 在我的Github项目中包含单个修复提交。
    • 我应该合并吗? 迈克斯 进入 主人 分支,删除 迈克斯 然后 一切?

    在网上搜索时,通常/好的做法是离开 主人 原封不动,纯粹用于从真实/原始的公共项目存储库中提取(即其他人接受的贡献等)。但也有人提出了其他策略:

    • 创建一个 上游 分支,把你干净的、准备好的贡献放在那里,这样其他人就可以轻松地找到它们,而不是把它们与我的其他不完整的/实验性分支混在一起(我想知道如果它们如此不完整,为什么它们甚至会在网上)。
    • 创建一个 下游 分支, 此处的其他更改用于脱机合并。

    如果我遵循上面的两个(目前感觉有点过分了),主分支将填充什么目的?

    Git可以进行上述任何组合(或全部)。这让我对如何轻松地向他人展示我的工作有点困惑。有没有这样的 “通用”工作流 ?还是每个人都为自己和你 在特定分支中发布特定修订 (推了一下)在问题跟踪程序中查找修复的错误?

    2 回复  |  直到 15 年前
        1
  •  7
  •   Greg Hewgill    15 年前

    克隆存储库时,Git会自动创建 remote tracking branches 这就是你描述的 主人 分支。您可以使用以下方式列出这些远程跟踪分支:

    git branch -r
    

    因为跟踪上游存储库已经为您完成了,所以您通常会使用 主人 主线更改到项目的分支。以下是我在您的特殊情况下要做的事情:

    • 合并 迈克斯 分为 主人 在你的克隆中。(在“主题分支”中这样做是很好的实践。)
    • 主人 转到Github。(不清楚您是将原始存储库分叉,还是从中克隆。您将需要分叉原始存储库,创建自己的副本,以便下一步工作。)
    • 派遣一个犹太人 pull request 到您分叉的存储库的所有者。
        2
  •  5
  •   Greg Bacon    15 年前

    Github允许您发送 pull requests 对于其他存储库的所有者,一个请求指出在哪里可以找到您感兴趣的更改。这意味着您不必在某个特定的知名分支中保留所有更改。

    对另一个人来说做得容易会增加你的补丁被接受的机会,所以保持一个干净的主机作为一个共同的参考点,并对主机的分支进行更改。把你的分支集中在一起:不要把三个新特性堆积在一个分支上,而是把它们分开,这样你就可以干净利落了。