这篇文章的目的是总结所有信息,以便在竞赛中为3人设置一个封闭的存储库。请随意将问题添加到我没有注意到的列表中。请将每个问题的每个答案添加为单独的答案。
有关情况A的一般问题
有关情况A的初步问题
有关两种情况的高级问题
答案 0 :(得分:13)
情况A
听起来你想要设置一个integration manager workflow。在这种情况下,人员A创建一个初始存储库,它是神圣的存储库。每个人,A,B和C,克隆其个人工作的存储库。当人B或C有他们希望A包含在存储库中进行共享的东西时,他们将其提交到他们的本地存储库,并要求A从他们的存储库中提取(拉取请求);人员A为人员B和人员C的存储库设置远程,然后可以git pull personB
或git pull personB
合并更改。人A然后git push
合并后的更改进入神圣的存储库。
您可以设置克隆并推送各种传输。最简单的方法是在ssh上使用git协议。如,
/local/git/project.git
sharedhost
上。您可以省略--shared=group
,因为您希望它成为集成存储库。 (此处的写访问权限使用Unix文件权限进行保护。)人员A,B和C,在其主目录中,克隆该存储库。
cd ~/src
git clone ssh://sharedhost//local/git/project.git
cd project # edit files in here.
git commit
人员A为B和C的存储库设置遥控器。
git remote add personB ssh://sharedhost/~b/src/project
git remote add personC ssh://sharedhost/~c/src/project
现在,A人可以git pull personB
来获取B的更改。当A感到高兴时,他会git push
将新合并的更改推送到共享仓库,B和C可以git pull
来获取它们。
如果设置存储库听起来有点复杂,您可能需要向GitHub等提供商付款,以便为您处理共享git存储库的所有托管。他们也可以帮助您解决问题。 对我来说,我发现最棘手的部分是理解提交的流程。一旦你得到了,事情开始变得更有意义。这discussion at gitready.com可能有助于为您澄清事情。还有一个涵盖类似材料的screencast。
答案 1 :(得分:1)
- 如何设置Git存储库,人员A,B和C. 能拉吗?
醇>
您需要使用ssh -protocol(ssh username @ ipAddress),并通过在托管存储库的计算机(Source)上为其提供帐户,为3个人提供ssh访问权限。
我建议为您的团队成员提供SSH密钥。 请参阅the post。 这允许他们通过运行来克隆,例如:
git clone user@machine:/path/to/repo.git
已发展的问题
如何为3提供帐户? 人呢?
如果您的文件必须是私密的,我建议您在Github有一个帐户,这需要花费几美元。您也可以通过Gitosis在自己的服务器上设置回购。
如果您的文件可以打开,我建议您使用Github,因为它是免费的。
更为发达的问题
如何将用户添加到Git中 存储库
您可以通过在Git分支上运行以下代码将您的用户添加到您的团队
git add remote UserName ssh://ADDressToTheRepo
命令示例
git add remote schacon git://github.com/schacon/ticgit.git
一个更加发达的问题
如何添加朋友的分支? 你的Git?
请在the thread查看我的回答。
答案 2 :(得分:0)
有人建议我使用Gitosis,它引发new problem: 如果您没有sudo访问权限,首先设置Python-setuptools,如何为您的服务器设置Gitosis?
安装Gitosis的解决方案:请参阅the post以安装最新的Python。请注意,您的系统可能有一个旧的Python。如果不更新整个操作系统,则无法更新system-Python。例如,您无法更新Mac Leopard的Python,因为系统依赖于它。
现在,您可以开始安装python-setuptools。请参阅the post进行安装。
答案 3 :(得分:0)