在本地两台计算机之间共享 Git 存储库



我正在做一个Xcode项目,我哥哥想开始帮忙。我的 Xcode 项目目录中有 .git 文件夹,我的兄弟如何pull/push/commit我的电脑?我是否必须使用OS X服务器并将存储库放在其中,或者是否有更简单的方法可以做到这一点?

一个简单的选项是在共享中启用"远程登录",这将启用 ssh,然后您可以使用 ssh 协议克隆存储库。远程登录首选项将告诉您:

To log in to this computer remotely, type "ssh username@computer.local".

username@computer.local 将替换为您的用户名和主机名。在终端中,使用:

git clone username@computer.local:[path]

在您的兄弟计算机上将存储库克隆给他,其中 [路径] 是包含存储库的文件夹的路径。您将需要输入密码,并且需要输入密码,以便以后使用 git push 或其他方式将更改复制回来。

您可以使用私钥设置无密码的ssh,但请记住,通过这样做,您可以有效地让您的兄弟完全控制您的计算机。

如果你想在两个非裸存储库之间推送代码,我建议看看git-annex

它通常用于在存储库之间同步大文件,但它也包含一种同步非裸存储库的漂亮方法(推送到自动合并synced/master分支(。

基本上,如果可以编写一个列出存储库的 ls pathssh [user@]host:path ls 命令,那么您可以使用相应的git clone [[user@]host:]path [optionalNewName]从中克隆。

此外,如果他(或您(在同一台本地计算机上工作,或者有权访问本地文件系统,则只需指向 .git 目录或包含 .git 目录的目录。

要将存储库克隆到另一个目录,请执行以下操作:

git clone . ~/2015Archive/repositoryB     # copy pwd's repository elsewhere
git clone .git ~/2015Archive/repositoryB  # same
git clone ~path/path/repositoryA .  #  clone other repository into pwd
git clone /home/brother/2015/projects/CoolProject ~/WORK/BrosCode 
# with ssh from a remote machine 
git clone me@brosmachine:/home/brother/projects/CoolProject WORK/BrosLameCode
git clone me@brosmachine:../brother/projects/CoolProject WORK/BrosLameCode

如果您切换到目标存储库并执行git remote -v它将显示克隆它的"源"的绝对路径。 如果它是一个本地目录,它将只是一条普通的、绝对的路径。 如果它是通过 ssh 访问的,它将是一个ssh [user@]host:path标识符。

相关内容

最新更新