gitlab的搭建和linux客戶端的鏈接

一。安裝linux

1.新建 /etc/yum.repos.d/gitlab-ce.repo,添加如下內容git

1
2
3
4
5
6
7
[gitlab-ce]
name=gitlab-ce
baseurl=http: //mirrors .tuna.tsinghua.edu.cn /gitlab-ce/yum/el6
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https: //packages .gitlab.com /gpg .key

2.安裝步驟:瀏覽器

1
2
3
4
5
6
7
8
9
10
# 安裝依賴包
yum  install  curl openssh-server openssh-clients postfix cronie
# 啓動 postfix 郵件服務
service postfix start
# 檢查 postfix
  chkconfig postfix on
# 安裝 GitLab 社區版
yum  install  gitlab-ce
# 初始化 GitLab
gitlab-ctl reconfigure

三、登陸訪問

添加訪問的 host,修改/etc/gitlab/gitlab.rbexternal_urlbash

1
external_url  'http://git.test.com'

每次修改/etc/gitlab/gitlab.rb,都要運行如下命令,讓配置生效ssh

1
gitlab-ctl reconfigure

在瀏覽器打開網址http://git.test.com,登錄。默認管理員:curl

用戶名: root  
密碼: 5iveL!fe                                  svn

 

二。 linux客戶端調用gitlab:工具

     1. 打開Git Bash命令行工具,執行命令ssh-keygen -t rsa -C Email-Addresss生成一個密鑰對。gitlab

     2.登陸到GitLab,點擊右上角你的用戶頭像,點擊Edit Profile settings,點擊SSH Keys,點擊Add SSH Key,填寫Title欄,post

       複製用戶目錄下.ssh/id_rsa.pub文件的內容到Key,點擊Add Key

     3. 點擊右上角的New project,填寫完成後點擊Create project新建一個倉庫,點擊Activity,點擊SSH後複製SSH邊上欄裏的地址。

     4. 打開Git Bash命令行工具,切換到一個合適的目錄,使用命令git clone 剛纔複製的URL克隆建立的倉庫。

     5.進入目錄cd 倉庫名,執行命令git config --global user.email your-email, 

     git config --global user.name your-name,設置你的我的信息。

     6.執行命令: 
     echo "#Description" > README.md,添加一個文件 
     git status,查看當前狀態,發現有未跟蹤文件 
     git add .,當前目錄全部文件添加到暫存區 
     git diff,比較當前工做區和暫存區有何不一樣 
     git status,查看當前狀態,發現有文件未提交 
     git commit -m "註釋",把暫存區內容提交到本地倉庫 
     git push -u origin master,把本地倉庫的提交推送到遠程倉庫 
     git log,查看提交日誌

 

Git本地分支管理

  1. 分支的建立、合併、刪除 
    git branch,顯示全部分支 
    git branch b1,從當前分支建立一個叫b1的分支 
    git checkout b1,切換到b1分支 
    git checkout -b b1,至關於以上兩條命令的組合 
    git checkout master,切換到master主分支 
    git merge b1,把b1分支的代碼合併到master上 
    git branch -d b1,刪除b1分支,不能在被刪除分支上執行

Git Tag標籤管理

  1. 標籤的建立、刪除 
    git tag t1,從當前分支建立一個名爲t1的標籤 
    git tag -d t1,刪除名爲t1的標籤

GitLib權限管理

GitLib有五種身份權限,分別是:

  • Owner 項目全部者,擁有全部的操做權限
  • Master 項目的管理者,除更改、刪除項目元信息外其它操做都可
  • Developer 項目的開發人員,作一些開發工做,對受保護內容無權限
  • Reporter 項目的報告者,只有項目的讀權限,能夠建立代碼片段
  • Guest 項目的遊客,只能提交問題和評論內容

具體參見GitLab權限,爲項目添加成員時可指定成員的身份權限。


命名規則

  • 每次提交必須寫明註釋,若是是修復Bug,請加上Bug號
  • 建立特性分支,名稱要以f-開頭,加上特性名
  • 建立發佈分支,名稱要以r-開頭,加上預發佈版本號
  • 建立Bug修復分支,名稱要以b-開頭,加上Bug號
  • 建立標籤,名稱要以t-開頭,加上發佈版本號
  • 合併分支時必須使用--no-ff參數,以保留合併歷史軌跡

分支模型

總體流程圖: 
branch-model-whole


主要分支(保護分支)

  • master 主分支,穩定代碼,爲生產環境作準備的
  • develop 開發分支,爲開發服務 
    分支關係相似下圖: 
    main-branch

輔助分支


特性分支

從develop分支建立,用於特性開發,完成後要合併回develop分支。 
操做過程: 
git checkout -b newfeature develop,從develop分支建立newfeature特性分支 
git checkout develop,開發完成後,須要合併回develop分支,先切換到develop分支 
git merge --no-ff newfeature,合併回develop分支,必須加--no-ff參數 
git branch -d newfeature,刪除特性分支 
git push origin develop,把合併後的develop分支推送到遠程倉庫 
分支關係相似下圖: 
feature-branch


發佈分支

從develop分支建立,用於預發佈版本,容許小bug修復,完成後要合併回develop和master。 
操做過程: 
git checkou -b release-1.2 develop,建立一個發佈分支 
git checkout master,切換到master分支,準備合併 
git merge --no-ff release-1.2,把release-1.2分支合併到master分支 
git tag 1.2,從master分支打一個標籤 
git checkou develop,切換到develop分支,準備合併 
git merge --no-ff release-1.2,把release-1.2分支合併到develop分支 
git branch -d release-1.2,刪除這個發佈分支


修復分支

從master分支建立,用於生產環境上的Bug修復,完成後要合併回develop和master。 
操做過程: 
git checkout -b hotfix-1.2.1 master,從master分支建立一個Bug修復分支 
git checkout master,切換到master分支,準備合併 
git merge --no-ff hotfix-1.2.1,合併到master分支 
git tag 1.2.1,爲master分支建立一個標籤 
git checkout develop,切換到develop分支,準備合併 
git merge --no-ff hotfix-1.2.1,合併到develop分支 
git branch -d hotfix-1.2.1,刪除hotfix-1.2.1分支 
分支關係相似下圖: 
feature-branch


Git協同模型


SVN式集中協同模型

適用於小型項目,參與人員較少的項目,每一個開發者都可向倉庫推送代碼 
svn-like


金字塔模型

適用於大型項目,參與人員較多,而且等級劃分嚴明,代碼須要逐級審覈的項目 
僅核心開發人員能夠向倉庫推送代碼,開發人員只能從倉庫拉取代碼,開發人員的代碼需先推送給核心開發人員審覈經過後,合併以後才能推送,通常狀況下是使用GitHubPull Request的方式

相關文章
相關標籤/搜索