4

所以我开始实现这个模型

我完全是 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. 我添加了共享用户以将“中央仓库”(共享裸存储库)放置在里面:

    - 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 "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)。他们的提交将如何最终出现在“中央回购”中/home/git/mysite.git
  3. 这些用户将如何能够结帐分支并从“中央回购”获取更新?
  4. 在什么时候我需要创建 realease 和 feature 分支?我需要在“中央回购”(/home/git/mysite.git)上创建它们吗?
4

1 回答 1

0

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

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

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

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

于 2013-07-25T15:35:24.093 回答