我有一个网站,自从我开始研究它以来,我就在 git 中对其进行了跟踪。现在我想使用类似的代码建立第二个网站。我的第一个想法是,“好吧,我将克隆 ClientA 的存储库,将克隆重命名为 ClientB 并从那里开始。” 但在我看来,这似乎不是组织它的理想方式。最终,我想我想要一个名为 WebsiteBoilerplate 的仓库,每个客户都有几个分支。或者我应该为每个客户创建单独的仓库?这类事情有最佳实践吗?还是我应该按照我的感觉去做?有一次,我确定了我需要去哪里,我需要一些帮助,从这里到那里,就我需要运行哪些命令而言。
问问题
107 次
1 回答
1
就像它所依赖的一切一样,但是拥有一个开发通用代码的主分支听起来是一种合理的方法。然后,您可以为每个站点拥有不同的分支,并保持站点特定的分支与公共 master 同步。
创建站点特定的分支很容易:
git checkout -b siteName
通过合并或重新调整来自 master 的更改,与 master 保持同步
git merge master
或者
git rebase -i master
如果您想在一段时间后拥有单独的存储库,您也可以这样做。只需 fork 主存储库,您仍然可以通过从“上游”存储库中拉取更改来保持同步。
要在 git 中分叉(与 github 上的分叉不同),我通常会克隆、将源重命名为上游并推送到我的新源。我还设置了我的本地来跟踪新的来源。
假设您已经有一个远程命名的来源,您希望将其重命名为上游并在新来源上设置跟踪。
git remote rename origin upstream
git remote add origin https://origin.git
git branch --set-upstream master origin/master
git push origin master
既然您在上游拥有通用代码,并且在来源中拥有特定于站点的代码,您可以通过以下方式跟踪上游的更改:
git fetch upstream master #checks if there are changes
git merge upstream/master #merges master with the changes in upstream
您可以将上面的两个命令与git pull upstream master
于 2012-10-12T19:17:21.373 回答