繁体   English   中英

逐步实施“成功的git分支模型”

[英]Implementing 'successful git branching model' step by step

所以我开始实现这个模型

我对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. 我添加了第二个主分支'develop',现在有两个分支'master':

     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 "maximus@example.com"; su len4ik; mkdir .ssh; cd ~/.ssh; ssh-keygen -t rsa -C "len4ik@example.com"; 
  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 )。 他们的提交将如何最终进入'central repo'/ /home/git/mysite.git
  3. 这些用户如何能够结账并从“中央回购”获取更新?
  4. 我在什么时候需要创建realease和功能分支? 我是否需要在'central repo'(/ /home/git/mysite.git )上创建它们?

1)您可以选择您想要开发的任何分支 - 它可以是主要的也可以是开发的。 我建议使用trunk / master -branch开发(在这种情况下,我建议删除develop分支本身)。

2)用户必须设置他们的master版本来跟踪你的repo(在这种情况下,git可以像任何其他非dvcs SCM一样工作 - 即具有每个提交者推送/拉出的中央存储库)。 通过设置此跟踪/跟踪,他们可以推送到他们的“远程”。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM