我正在开发一个Xcode项目,我哥哥想开始帮忙。我的Xcode项目目录中有.git文件夹,我哥哥如何从我的计算机上拉/推/提交?我是否必须使用OS X服务器并将repo放在那里,或者有更简单的方法吗?
答案 0 :(得分:3)
一个简单的选项是在共享中启用“远程登录”,这将启用ssh,然后您可以使用ssh协议来克隆存储库。远程登录首选项将告诉您:
To log in to this computer remotely, type "ssh username@computer.local".
username@computer.local将替换为您的用户名和主机名。在终端中,使用:
git clone username@computer.local:[path]
在兄弟的计算机上将repo克隆给他,其中[path]是包含存储库的文件夹的路径。您需要输入密码,然后需要输入密码以便稍后使用git push或其他任何内容复制更改。
您可以使用私钥设置无密码ssh,但请记住,通过这样做,您可以有效地让您的兄弟完全控制您的计算机。
答案 1 :(得分:1)
如果您想在两个非裸存储库之间推送代码,我建议您查看git-annex
。
它通常用于在存储库之间同步大文件,但它还包含一种同步非裸存储库的漂亮方式(推送到自动合并的synced/master
分支)。
答案 2 :(得分:0)
基本上,如果可以编写一个列出您的存储库的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
标识符。