回答
由于现有的评论和答案都是这样说的,似乎建立一个权威的,“裸”的存储库是比较常见的,供贡献者推动这个存储库。这就清楚地表明,例如,在指定的Remote-Repo-Site上的分支devel
是“devel
分支,而所有其他分支只是淡淡的模仿。 :-)这在企业环境中特别常见。它的优点是有明确的权限。
这就是说,虽然没有任何东西阻止你在git中构建一个纯粹的点对点系统。在这里,每个git仓库本身都非常好。回购[R 一个在主机A上是一样的回购R于主机B 乙
为了使这个方便的那么好,在主机A上,在回购副本那里,你可以创建一个“远程”主机B.在主机B上,在那里的回购副本中,为主机A创建一个远程主机。然后,无论您目前在哪个系统上,都可以简单地使用git fetch remote
(其中是该主机上的名称,其他主机为你好奇的主持人)。实际上,您可以继续将此模型扩展为拥有多个对等点,并且可能有多个对等点可能同步的多个“更权威”点。也就是说,您可以构建权威和对等存储库的混合体。
这是可行的,因为所有git回购在结构基本相同。使权威存储库“权威”的唯一事情是那些使用它的人以这种方式对待它。如果我有我的回购并从你那里得到东西,并且相信它比我以前的东西好,那么,你必须是这里的权威。如果我选择不相信你,那么我就成为我自己的权威。
这里很重要的一点是,存储库的“裸”不是其权限的一部分(如果有的话)。实际上,裸回购的唯一一点就是简化为git push
。如果您推送到某个人员正在工作的存储库,则他们可能会认为他们在提交0ab7c32
devel
,但现在他们的devel
指向提交905c4fd
。 裸仓库没有工作树,因此根据定义,您不能在该裸仓库的工作树中混淆某人正在进行的工作。
同时,有一个仓库,它易于git push
到,主要的一点是要有一个双方同意的会合点,这样,如果有十几个同行的各种开发分支发展了,他们不有所有人都彼此了解,为彼此设置遥控器,并相互授权访问他们自己的系统。
这两个属性使裸仓库成为构建权威结构的理想选择。 “工蜂”克隆权威系统,做他们的工作,然后(试图)推回到权威系统。所有的关系都是成对的,并且没有工蜂必须直接与另一个交谈。
但你不必这样做。例如,我有我的笔记本电脑和桌面,并将它们设置为彼此的同伴。从笔记本电脑我可以只需git fetch desktop
,反之亦然。我发现的一个缺点是,我可以忘记我在笔记本电脑(或台式机)上正在进行的工作,我没有承诺,现在我在另一个,所以现在我无法工作了无需先与其他机器进行同步。但这通常不是什么大问题。
水银通过跟踪其中“下次提交”逃脱这正好以不同的方式,所以你可以把非裸库,即使他们有被顶来分支签出。 Git可以做同样的事情,但它需要能够立即创建一个新的分支名称,或者当有人推送到你所在的分支时,让你进入“分离HEAD”模式。
你必须能够ssh到你的本地机器来做到这一点。只需要:
git pull [email protected]:/path/to/repository/on/local/machine
正如StuartLC在评论中指出的那样,最好从本地机器推送到远程存储库。最好在某个地方建立一个裸仓库,并通过它进行推/拉。
- 1. git从存储库到服务器
- 2. 从本地git服务器克隆存储库到AWS Ubuntu
- 3. Capistrano + Git:存储库本地到生产服务器
- 4. 将本地git存储库复制到不同的服务器?
- 5. 将更改从本地存储库传播到另一本地存储库
- 6. 远程服务器更改后,“git似乎不是git存储库”IP地址
- 7. 从服务器更新本地存储库文件
- 8. 将git存储库更改为新服务器
- 9. 如何将更改存储到其他服务器端存储库中的git存储库?
- 10. Git - 恢复从本地存储库提交的更改
- 11. 无法将更改提交到本地git存储库
- 12. git更改存储库时
- 13. Git - 本地存储库
- 14. 如何提交从本地计算机到服务器上使用Git的远程存储库的更改
- 15. ftp服务器上的Git存储库
- 16. 从远程git存储库中更改
- 17. 本地git存储库到bitbucket存储库
- 18. 将svn本地存储库迁移到git存储库
- 19. 服务器文件更改后刷新服务器存储库
- 20. 在Eclipse中将更改从Bitbucket更新到本地git存储库?
- 21. 如何将git存储库从Windows移动到Ubuntu服务器?
- 22. Git入门 - 从远程TFS服务器拉入本地存储库?
- 23. 我有一个Git存储库。我克隆了存储库,委托我的本地更改。当我将更改推送到服务器时,它显示错误
- 24. 如何使用git将本地存储库复制到远程服务器?
- 25. 如何更改团队服务中的git存储库团队
- 26. 如何将我的本地Git存储库移动到远程Git存储库
- 27. 将本地存储库推送到服务器
- 28. Git拉动两个本地存储库之间的更改
- 29. 将更新从最新的Git存储库移到旧版本的存储库
- 30. 如何将厨师服务器的更改带入本地存储库?
您应该将本地更改推送到远程仓库,可能会推送到新的分支,以便可以创建并审阅抽取请求。 – StuartLC