Nay*_*Nay 6 git github codebase
在git和git-hub中处理两个独立但非常相似的代码库的最佳方法是什么?
我有一个小型shell脚本项目的git存储库.它只有2或3个代码文件,我经常在一个文件中工作.虽然我最初的目标是服务于我的特定目标,但我认为它对其他人来说更有用.我编写了一般用例版本,然后将其修改为特定于我的特定目标.在特定的版本中,我可能会修改变量,输入密码,切换一些代码的顺序,取出for循环......无论如何.
我尝试了两种不同的方法,并且都没有像我认为的那样最佳:
我还看到了如何将两个单独但相似的代码库合并为一个SVN代表?那是关于SVN的.因为我不知道SVN,所以我很难跟随.我认为这是一个不同的问题,因为他并没有试图公开这个代码的一个版本.
具体来说,问题出现在:
大多数情况下,我的问题是想知道如何在git的范围内做到这一点.但是,它也可能影响如何与github进行交互.我的通用版本在github上.专业版不应该在github上.我想,我的分支方法上面没有推两个分支,如果我很小心......但我总是不确定.无论哪种方式,解决方案应该允许有一个公共版本,一个版本只是本地保存...即使它有点复杂或需要小心.
这可以通过两个分支轻松完成。我不知道你为什么说“代码在一个地方修改过,不能轻易地有选择地合并到另一个地方”,因为在 Git 中合并很容易。
我建议的结构是为您的一般版本创建一个分支,为您的个人版本创建一个分支。合并应该只发生在一个方向,从通用分支到个人分支。这意味着您对通用版本所做的任何更改都会合并到个人版本中。
换句话说,这没问题……
git checkout personal
git merge general
Run Code Online (Sandbox Code Playgroud)
这是你永远不应该做的...
git checkout general
git merge personal
Run Code Online (Sandbox Code Playgroud)
如果您对您的个人版本进行了更改,并认为在通用版本中使用相同的代码会很好,那么您应该能够通过选择来轻松处理此问题。在个人分支中组织提交只需要一些深思熟虑。您将需要在个人分支中进行提交,其中仅包含您想要带到一般版本的那些更改,然后只需将其从个人分支中挑选出来并将其放到一般分支上。
两个存储库可以完成相同的事情。这将降低您不小心将个人版本上传到 Github 的风险,但会使使用两个不同版本的工作变得更加乏味。
就个人而言,我会在同一个 repo 中使用两个分支。
| 归档时间: |
|
| 查看次数: |
1882 次 |
| 最近记录: |