2013-07-25 36 views
4

所以我开始实施this model一步一步实现'成功的git分支模型'

我完全是Git和软件实现过程的新手,所以我列出了我在下面做的所有事情。我需要你的帮助来解决一些我已经得到的问题,如果你发现我不了解某些事情或者向错误的方向发展,可能会提出一些建议。我相信这可能对其他人走上这条道路有很大的帮助。所以这是我迄今为止所做的。我有我的网站的以下结构

/var/www/mysite.com/ 
       kohana 
        kohana files 
       www 
        index.php 
        other files 

要实现我已经做了以下的模式:

  1. 我初始化存储库从克隆的裸库并取得了初步承诺:

    cd /var/www/mysite/ 
    git init 
    git add . 
    git commit - 'initial commit' 
    
  2. 我添加了共享用户以放置'central repo'(共享裸仓库):

    - adduser git 
    - su git 
    - cd 
    
  3. 我克隆了存储库到这个用户的文件夹。这将是'起源'资料库。

    git clone --bare /var/www/mysite.com mysite.git; 
    cd mysite.git; 
    
  4. 我添加第二个主要分支 '发展',现在有两个分支 '主人':

    git branch develop; 
    git branch -a 
        *master 
        develop 
    
  5. 我补充说,将开发产品的用户:

    adduser maximus 
    adduser len4ik 
    
  6. 我为他们创建了ssh密钥并将其放到.ssh目录中:

    su maximus; 
    mkdir .ssh; 
    cd ~/.ssh; 
    ssh-keygen -t rsa -C "[email protected]"; 
    su len4ik; 
    mkdir .ssh; 
    cd ~/.ssh; 
    ssh-keygen -t rsa -C "[email protected]"; 
    
  7. 我创造公共的资源为他们每个人的

    su maximus; cd; 
    git clone /home/git/mysite.git; 
    su len4ik; cd; 
    git clone /home/git/mysite.git; 
    

现在我的开发人员在Windows上安装TortoiseGit,设置SSH密钥,并从他们的公共库拉在Windows上使用TortoiseGit本地创建库。

我有几个问题:

  1. 在步骤4应该选择哪一个分支?现在它是'主',但是我是否需要将它切换到“开发”?
  2. 我假设用户将推动并从他们的公共仓库(/home/user/mysite)拉。他们的承诺如何以'中央回购'结尾,即/home/git/mysite.git
  3. 这些用户将如何检查分支并从“中央回购”获取更新?
  4. 在什么时候我需要创建释放和功能分支?我需要在'中央回购'(/home/git/mysite.git)上创建吗?
+0

为什么你需要每个用户“公共仓库”? – Vasiliy

+0

这就是我认为我需要从模型的解释和[本章的Git专业书](http://git-scm.com/book/en/Distributed-Git-Distributed-Workflows),它显示每个开发人员有自己的公共存储库 –

回答

0

1)你可以选择你想要开发的任何一个分支 - 它可以是主或开发。我会推荐基于trunk/master-branch的开发(在这种情况下,我建议删除develop分支本身)。

2)用户将不得不设置他们的主版本来跟踪你的回购(在这种情况下,git可以像任何其他非dvcs SCM一样行事 - 即有一个中央回购站,每个提交者推送到/从中) 。通过设置以下/跟踪,他们可以推送到他们的“遥控”。

3)同上,他们可以从远程/中央回购拉/推。

4)如果您遵循持续交付/部署模型,则不需要功能/发布分支​​。如果没有,那么我会建议每个版本的分支。特征分支可以完成,但最好应该是短暂的。在这种情况下,主[分支]确实是主[您的代码库的副本]。

+0

谢谢!我希望通过使用分布式工作流程来实现该模型,同时您建议我使用中央工作流程。 –