我正在使用几个 GitHub 存储库。到目前为止,我一直在使用的过程是 fork 原始存储库,然后克隆我的分支。如果我进行一些更改,我只需将它们推送到我的远程分支中。
我担心的是:在项目中我可能不会进行任何修改/提交,我应该像以前一样分叉原始项目并克隆我的分支,还是克隆原始项目?如果这些项目涉及一堆必须定制的文件(因此,我的本地项目与原始项目不同)怎么办?
这并不重要。
如果您认为,您不进行任何更改,您可以安全地直接克隆原始存储库,这样做有什么好处,您可以通过git pull
. 一旦你意识到你想要进行更改,你可以在 github 上 fork 并将 fork 添加为附加远程
另一方面,如果您认为您将对遥控器进行更改,您可以分叉它。一旦您意识到您错了并且您不需要进行更改,请将原始存储库添加为远程并删除分叉。
我自己更喜欢始终将分叉和原始分叉都添加为远程,因此我可以通过 (eg) 更新我的本地克隆git pull original master
,然后我可以用git push origin
( origin
is my private fork here 更新我的分叉。名字并不真的也很重要)。如果我不需要叉子或不再需要它,我会摆脱它。如果我(再次)需要它,我(重新?)创建它。
作为旁注:您不需要在 github 上创建一个分支来进行更改,因为您的本地克隆也是一个完整的存储库,如果它足以将您的更改保留在那里,那没关系。
如果您不打算对代码进行更改,请克隆但不要分叉。分叉旨在托管您对代码所做的提交,而克隆则非常适合复制项目的内容和历史。
如果您稍后改变主意并想要发布您对克隆存储库所做的提交,您始终可以将您的提交从原始克隆分叉并推送到分叉的存储库,只需将分叉的 URL 添加到存储库的远程。