这本身不是一个 git 问题。例如,如果您在笔记本电脑上托管了一个 Subversion 存储库,那么当您在酒店房间时,其他开发人员仍然无法与之交谈。您需要通过其他协议的隧道或将它们推送到可相互访问的资源来使您的存储库可用。
最糟糕但仍可操作的情况是当 repos 无法直接相互通信,但您可以使用git send-email
.
接下来,假设您有一个互联网提供商的空壳账户,该提供商也提供~/public_html
. 在这种情况下,您将在该网络空间中创建一个裸存储库,如设置 git 存储库中所述,该存储库可以通过 HTTP(S) 推入和拉出。您的推送将通过 SSH 进行身份验证,并且您的协作者将设置远程以从适当的 HTTP URL 中提取。
这比电子邮件稍微好一点,但速度慢而且笨拙。现在 git 具有智能 HTTP 后端的好处,其中通过 HTTP 拉取的速度要快得多。使用智能或哑后端,您可以启用身份验证。
如果您不关心身份验证,您还可以使用git daemon
每个人都可以访问的主机为您的存储库提供服务。
如果你们都拥有对同一主机的 shell 访问权限,则可以在连接到该机器后直接交换工作。您在这里有很多选择:
- 完整的外壳访问:相同的帐户,相同的(集中式)回购
- 完整的外壳访问:不同的帐户,单独的回购,
git pull
- 允许协作者仅 git 访问您的 shell 帐户
- (等等)
以上可能会在紧要关头,但所有的手动护理和喂养都会变得乏味。将令人头疼的问题外包给GitHub或Gitorious。