所以我开始实施this model。
我是Git和软件实施过程的新手,所以我列出了我迄今为止所做的一切。如果你发现我不理解某些事情或朝着错误的方向前进,我需要你帮助解决一些我得到的问题以及一些建议。我相信这对于走上这条道路的其他人来说可能是一个很大的帮助。所以这就是我到目前为止所做的。我的网站有以下结构
/var/www/mysite.com/
kohana
kohana files
www
index.php
other files
为了实施该模型,我已经完成了以下工作:
我初始化了存储库以克隆裸存储库并进行初始提交:
cd /var/www/mysite/
git init
git add .
git commit - 'initial commit'
我添加了共享用户来放置中央回购' (共享裸存储库)里面:
- adduser git
- su git
- cd
我将存储库克隆到此用户的文件夹中。这将是'起源'库中。
git clone --bare /var/www/mysite.com mysite.git;
cd mysite.git;
我添加了第二个主要分支' develop'现在有两个分支' master':
git branch develop;
git branch -a
*master
develop
我添加了将开发该产品的用户:
adduser maximus
adduser len4ik
我为他们创建了ssh密钥并放到了.ssh目录:
su maximus;
mkdir .ssh;
cd ~/.ssh;
ssh-keygen -t rsa -C "maximus@example.com";
su len4ik;
mkdir .ssh;
cd ~/.ssh;
ssh-keygen -t rsa -C "len4ik@example.com";
我为每个人创建了公共存储库
su maximus; cd;
git clone /home/git/mysite.git;
su len4ik; cd;
git clone /home/git/mysite.git;
现在我的开发人员将在Windows上安装TortoiseGit,设置ssh密钥并从他们的公共存储库拉到在Windows上使用TortoiseGit在本地创建的存储库。
我有几个问题:
/home/user/mysite
)。他们的承诺将如何最终落入“中央回购”中。这是/home/git/mysite.git
?/home/git/mysite.git
)?答案 0 :(得分:0)
1)您可以选择您想要开发的任何分支 - 它可以是主要的也可以是开发的。我建议使用trunk / master -branch开发(在这种情况下,我建议删除develop分支本身)。
2)用户必须设置他们的master版本来跟踪你的repo(在这种情况下,git可以像任何其他非dvcs SCM一样行动 - 即具有每个提交者推送/拉出的中央仓库)。通过设置此跟踪/跟踪,他们可以推送到他们的“远程”。
3)同上,他们可以从远程/中央仓库拉/推。
4)如果您正在遵循持续交付/部署模型,则不需要功能/发布分支。如果没有,那么我会为每个版本建议一个分支。功能分支可以完成,但最好是短暂的。在这种情况下,master [branch]确实是master [代码库的副本]。