我正在开发一个 Xcode 项目,我的兄弟想开始提供帮助。我的 Xcode 项目目录中有
.git
文件夹,我的兄弟 pull
/ push
/ commit
怎样才能与我的电脑进行交互?我是否必须使用 OS X 服务器并将存储库放入其中,或者是否有更简单的方法来执行此操作?
一个简单的选择是在共享中启用“远程登录”,这会启用ssh,然后您可以使用ssh协议来克隆存储库。远程登录偏好设置会告诉您:
To log in to this computer remotely, type "ssh [email protected]".
[电子邮件受保护] 将替换为您的用户名和主机名。在终端中,使用:
git clone [email protected]:[path]
在您兄弟的计算机上将存储库克隆给他,其中 [path] 是包含存储库的文件夹的路径。您需要输入密码,并且需要输入密码才能稍后使用 git Push 或其他方式将更改复制回来。
您可以使用私钥设置无密码 ssh,但请记住,这样做实际上是让您的兄弟完全控制您的计算机。
如果您想在两个非裸存储库之间推送代码,我建议您查看
git-annex
。
它通常用于在存储库之间同步大文件,但它还包含一种同步非裸存储库的巧妙方法(推送到自动合并的
synced/master
分支)。
基本上,如果可以编写
ls path
或 ssh [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
标识符。