“派生”功能是特定于github的吗?还是有一个纯粹的git流程来创建可以从父级提取更新的“复制的”子存储库?如果是这样,怎么办?
编辑:我必须对git clone
然后做什么感到困惑。据我了解,git clone
是我在计算机上执行的操作,以获取存储库的本地副本以对commit
和push
进行更改。我们目前正在使用gitosis托管我们的仓库。因此,如果我想完成一个“fork”,我会在gitosis服务器本身(原始位置)上克隆存储库吗?那会创建一个新的git地址吗?
最佳答案
您可能不想实际执行此操作。 git中的分支非常好且轻量级,确实没有理由不应该仅在当前拥有的存储库中建立分支。我可以想到的使用gitosis存储库执行此操作的唯一原因是为了使访问控制变得有趣,如果您具有连续部署或从一个gitosis存储库中提取的内容,并且想要授予对同一代码的提交访问权限,但不要希望他们能够写出已部署的内容。对于所有其他用途,您应该只创建一个带有git branch
的分支,并在该分支上进行所有工作。或者,您可能想要克隆一个github存储库,然后在中央gitosis体系结构中进行团队合作。
考虑到这种预警,按照您所描述的方式创建“fork”的最简单方法是在gitosis服务器上创建一个单独的存储库。因此,请使用其他名称设置另一个存储库-例如,如果您的原始存储库是gitosis@server:repo1.git
,则可以在gitosis@server:repo1-fork.git
上设置另一个存储库。添加您想要访问的任何用户。
然后,您将克隆存储库:git clone gitosis@server:repo1.git
,它将存储库的完整副本放入./repo1
。要将其从本地版本复制到分支的存储库,可以执行git push gitosis@server:repo-fork.git --mirror
。
关于Git-没有Github的 fork ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4728432/