Git可以通过互联网推送/拉动分布式回购吗?

Jac*_*sch 6 git

我知道Git可以在没有中央存储库的情况下使用.但是,我和其他几个人一起开始了一个项目,我们在地理上分布.即我们永远不会在同一个局域网上同步回购.

所以我的问题是:是否有可能通过互联网推送/拉动每个其他回购的变化?如果是这样,我该怎么做呢?最轻松,最简单的方式.

Thanx提前.

Ben*_*mes 12

如果您对彼此的计算机具有SSH访问权限(在某些网络上设置可能比git://协议访问更容易),那么它就像以下一样简单:

git pull ssh://username@host:/path/to/repository/.git
Run Code Online (Sandbox Code Playgroud)

如果无法通过任何协议直接访问(例如,如果您在具有NAT的路由器后面),那么您可以始终发送彼此的补丁.

但是Git还有另一种方法git-bundle,它可以让你发送一个文件(通过电子邮件,或者你发送文件的其他方式)给你的协作者,这些协作者可以像存储库那样被推送和拉出.Pro Git的作者有一篇关于此博客文章教程.


Tyl*_*nry 5

如果你可以ssh到彼此的计算机,你可以对彼此的计算机进行git push/pull.但是,并不是真的建议拥有一个完全对等的存储库.其中一个人应该维护一个每个人都同步的"裸"存储库,否则当你推送到其他人正在处理的存储库时,你会遇到奇怪和恼人的情况.

最好使用github,除非你正在开发一些封闭源代码并且负担不起私人存储库的费用.