我正在做一个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 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
标识符。