http://www.myexception.cn/software/1891171.html
Git安裝配置及基本使用
- 從官網下載安裝包,手動完成安裝。
- 打開
Git Bash
命令行工具,執行命令ssh-keygen -t rsa -C Email-Addresss
生成一個密鑰對。 - 登錄到GitLab,點擊右上角你的用戶頭像,點擊
Edit Profile settings
,點擊SSH Keys
,點擊Add SSH Key
,填寫Title
欄,復制用戶目錄下.ssh/id_rsa.pub
文件的內容到Key
,點擊Add Key
。 - 點擊右上角的
New project
,填寫完成后點擊Create project
新建一個倉庫,點擊Activity
,點擊SSH
后復制SSH
邊上欄里的地址。 - 打開
Git Bash
命令行工具,切換到一個合適的目錄,使用命令git clone 剛才復制的URL
克隆創建的倉庫。 - 進入目錄
cd 倉庫名
,執行命令git config --global user.email your-email
,git config --global user.name your-name
,設置你的個人信息。 - 執行命令:
echo "#Description" > README.md
,添加一個文件git status
,查看當前狀態,發現有未跟蹤文件git add .
,當前目錄所有文件添加到暫存區git diff
,比較當前工作區和暫存區有何不同git status
,查看當前狀態,發現有文件未提交git commit -m "注釋"
,把暫存區內容提交到本地倉庫git push -u origin master
,把本地倉庫的提交推送到遠程倉庫git log
,查看提交日志
Git本地分支管理
- 分支的創建、合並、刪除
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標簽管理
- 標簽的創建、刪除
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
參數,以保留合並歷史軌跡
分支模型
整體流程圖:
主要分支(保護分支)
- master 主分支,穩定代碼,為生產環境做准備的
- develop 開發分支,為開發服務
分支關系類似下圖:
輔助分支
特性分支
從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分支推送到遠程倉庫
分支關系類似下圖:
發布分支
從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分支
分支關系類似下圖:
Git協同模型
SVN式集中協同模型
適用於小型項目,參與人員較少的項目,每個開發者均可向倉庫推送代碼