Git Bash
命令行工具,執行命令ssh-keygen -t rsa -C Email-Addresss
生成一個密鑰對。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 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 t1
,從當前分支建立一個名爲t1的標籤 git tag -d t1
,刪除名爲t1的標籤GitLib有五種身份權限,分別是:html
- Owner 項目全部者,擁有全部的操做權限
- Master 項目的管理者,除更改、刪除項目元信息外其它操做都可
- Developer 項目的開發人員,作一些開發工做,對受保護內容無權限
- Reporter 項目的報告者,只有項目的讀權限,能夠建立代碼片段
- Guest 項目的遊客,只能提交問題和評論內容
具體參見GitLab權限,爲項目添加成員時可指定成員的身份權限。git
- 每次提交必須寫明註釋,若是是修復Bug,請加上Bug號
- 建立特性分支,名稱要以
f-
開頭,加上特性名- 建立發佈分支,名稱要以
r-
開頭,加上預發佈版本號- 建立Bug修復分支,名稱要以
b-
開頭,加上Bug號- 建立標籤,名稱要以
t-
開頭,加上發佈版本號- 合併分支時必須使用
--no-ff
參數,以保留合併歷史軌跡
總體流程圖:
ssh
從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分支推送到遠程倉庫
分支關係相似下圖:
svn
從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分支
分支關係相似下圖:
命令行
適用於小型項目,參與人員較少的項目,每一個開發者都可向倉庫推送代碼
3d