0

我有一个网站,自从我开始研究它以来,我就在 git 中对其进行了跟踪。现在我想使用类似的代码建立第二个网站。我的第一个想法是,“好吧,我将克隆 ClientA 的存储库,将克隆重命名为 ClientB 并从那里开始。” 但在我看来,这似乎不是组织它的理想方式。最终,我想我想要一个名为 WebsiteBoilerplate 的仓库,每个客户都有几个分支。或者我应该为每个客户创建单独的仓库?这类事情有最佳实践吗?还是我应该按照我的感觉去做?有一次,我确定了我需要去哪里,我需要一些帮助,从这里到那里,就我需要运行哪些命令而言

4

1 回答 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 回答