管理Github上的两个分支/版本

3
我在Github上创建了一个存储库,现在被同事Fork,我有Fork后存储库的读写权限。我们将在此存储库中一起工作,但我们每个人也将编写相关的代码供自己使用,这些代码不需要共享。在Git中处理这种情况的正确方式是什么?或者这种设置是否违背Git的组织原则?
我尝试了创建两个分支,因为这似乎是应该处理的方式,但我无法弄清楚如何仅合并我们想要共享的代码,而不合并我做出的其他提交,这些提交我的同事不需要或不想要。我最近正在使用《Pro Git》一书学习Git,但我无法找到如何做我想做的事情(或者我是否应该尝试做这件事)。
谢谢您提前的任何帮助。
2个回答

2
我认为你可能对Git的cherry-pick功能感兴趣。它允许您选择单个(或多个)提交并将它们移动到另一个分支。这样,您就可以拥有两个分支,并且可以在它们之间选择性地移动提交(甚至将所选提交从您的分支移动到一个集合分支中)。
在git中,如何从一个分支中删除提交并将其应用到另一个分支中?请参考此链接:https://dev59.com/LXI-5IYBdhLWcg3wm5lG

这样做是可行的,但在我看来,它过于细致管理,不适合日常使用... - Alexander Gladysh
如果你想这么做,交互式重置到公共分支是更好的选择,你只需要在编辑器中删除不想要的提交行。 - Alexander Gladysh
我同意这可能比我想要的更微观管理,但我还没有遇到过这个功能,所以我感谢您提醒我。 - jdmcbr

1

如果有些代码不应该被分享,就不要将其提交到共享存储库中(或者不要在GitHub上推送包含此代码的提交)。有几种技术可以实现这一点,其中一些在其他答案和评论中提到。

您可能还想为自己的工作创建一个单独的本地存储库,并将共享存储库连接为子树(或子模块,但我个人不喜欢子模块)

话虽如此,除非有机密事项正在进行,否则我会简单地将个人内容放在共享存储库的单独目录中,并(暂时?)不再担心它。这样更简单。当您“知道”必须分离时,您很可能会知道如何解决这个问题(或者至少对您需要的内容有更好的了解标准)。


你的最终观点可能是这种情况下的适当解决方案。不过,我会记住子树以备将来之需。鉴于我的当前经验水平,它们看起来有点复杂。我提出这个问题的部分原因是因为我最初对分支工作方式的印象与我所描述的差不多,所以我想确保我没有漏掉什么。 - jdmcbr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接