我正在使用几个GitHub存储库。到目前为止我一直在使用的过程是fork原始存储库,然后克隆我的分支。如果我做了一些更改,我只需将它们推入我的远程分支。
我担心的是:在项目中我可能不会进行任何修改/提交,我应该像以前那样分割原始项目并克隆我的分支,还是克隆原始项目?如果那些项目涉及一堆必须定制的文件(因此,我的本地项目与原始项目不同)会怎么样?
答案 0 :(得分:15)
tl;博士:这并不重要。
如果您认为,您没有做出任何更改,您可以直接克隆原始存储库,有什么好处,您可以通过git pull
直接更新本地克隆。一旦你意识到你想要进行更改,你可以在github上分叉并将fork作为附加远程
另一方面,如果您认为您将对遥控器进行更改,则可以将其分叉。一旦你意识到你错了而且你不需要进行更改,将原始存储库添加为远程并删除分叉。
我自己更喜欢总是将fork和原来的一个添加为远程,因此我可以通过(例如)git pull original master
更新我的本地克隆,之后我可以用git push origin
更新我的fork (origin
是我的私人分支。这些名字并不重要)。如果我不需要叉子或者不再需要它,我就会摆脱它。如果我需要(再次),我(重新?)创建它。
作为旁注:您不需要在github上进行更改,因为您的本地克隆也是一个完整的存储库,如果它足以保持您的更改,那么它就是确定。
答案 1 :(得分:9)
如果您不打算对代码进行更改,请克隆但不要进行分叉。 Forking旨在托管您对代码所做的提交,而克隆则非常适合复制项目的内容和历史记录。
如果您以后改变主意并希望发布对克隆存储库的提交,您可以随时将提交从原始克隆分叉并推送到分叉存储库,只需将fork的URL添加到repo中即可。遥控器。