git分支,git commit,git流程

1. git分支命令規範html

1. Master 主分支 2. Dev 開發分支 3. Feature 功能分支(例如:feature-x) 4. Release 預發佈分支(例如:release-1.2) 5. Bug 分支(例如:fixbug-0.1)

 

2. git中commit規範git

git add後,若是沒有特性描述要添加則直接執行git commit。不然使用git commit -m <mess> 格式: <type>(<scope>):<subject>
    <BLANK LINE>
    <body>
    <BLANK LINE>
    <footer> 說明:type表示提交類別,scope表示修改範圍,subject表示標題行,body表示主體描述內容。 具體: 1. type(必須,有如下選項) * feat:添加新特性 * fix:修復bug * docs:僅僅修改了文檔 * style: 僅僅修改了空格、格式縮進、都好等等,不改變代碼邏輯 * refactor: 代碼重構,沒有加新功能或者修復bug * perf: 優化相關,好比提高性能、體驗 * test: 增長測試用例 * chore: 改變構建流程、或者增長依賴庫、工具等 * revert: 回滾到上一個版本 2. scope(非必須,用於說明commit影響的範圍,建議填寫影響的功能模塊,若是影響的不止一個scope,能夠用星號*代替) 3. subject(必須,以動詞開頭,使用第一人稱如今時。好比change,而不是changed或changes, 第一個字母小寫結尾不加句號)

 

3. 建立版本庫github

 1 mkdir learngit  2 cd learngit  3 pwd  4 git init (initalized empty Git repository in ...)  5 ls -ah ##(查看隱藏文件)  6 touch readme.txt  7 vim readme.txt  8 i  9 Git is a vertion system. 10 Git is free software. 11 ##(按下 Esc) 12 :wq 13 git add readme.txt 14 git commit -m "wrote a readme file"
15 vim readme.txt 16 i 17 modify 2
18 ##(按下 Esc) 19 :wq 20 git add readme.txt 21 git commit -m "append modify 2"

 

4. 時光機穿梭/版本回退vim

1 git status 2 git diff ##(查看工做區與暫存區的全部差別)(工做區即git所在的文件夾,暫存區爲git add後沒commit的區域) 3 git diff HEAD readme.txt ##(查看文件readme.txt工做區與暫存區的的差別) 4 git log ##(查看歷史記錄) 5 git log --pretty=oneline ##(查看歷史記錄簡單顯示) 6 git reset --hard HEAD^ ##(回退到上一個版本) 7 git reset --hard 1094a ##(回退到1094a這個版本) 8 git reflog                       ##(記錄全部使用過的版本命令)

 

5. 撤銷修改app

1 git checkout -- readme.txt (撤銷工做區的修改)(若沒有放入暫存區則直接撤銷回到版本庫如出一轍,若添加到暫存區則撤銷到暫存區的狀態) 2 git reset HEAD readme.txt    (git add後沒有commit,能夠撤銷放入暫存區狀態從新放回工做區)

 

6. 刪除文件ssh

git add test.txt git commit -m "add test.txt" rm test.txt git status ## 選擇1 git rm test.txt (從git中刪除這個文件) git commit -m "remove test.txt" ## 選擇2 git checkout -- test.txt  (撤銷誤刪,也就是撤銷工做區刪除文件的修改)

 

7. 綁定遠程倉庫工具

1 ssh-keygen -t rsa -C "youremail@example.com"
2 回車 回車 (會在用戶目錄生成一個.ssh文件夾 3 登陸github,打開Account setttings,SSH Keys頁面, 4 新增一個SSH key,title隨便取,在key文本框裏粘貼id_rsa.pub裏的內容)

 

8. 添加遠程庫性能

1 git remote rm origin (若是以前有關聯過其它的origin了就要執行這一步,沒有就跳過) 2 git remote add origin https://github.com/812781386/learngit.git 
3 git push -u origin master 4 git remote (查看遠程庫信息) 5 git remote -v (查看更詳細的遠程庫信息)

 

9. 分支管理測試

1 git branch (查看分支) 2 git branch dev (建立dev分支) 3 git checkout dev (切換到dev分支) 4 git checkout -b dev (建立並切換到dev分支) 5 git merge dev (把dev分支合併到當前所在分支) 6 git branch -d dev   (刪除dev分支)

 

10. bug分支 (當前的編碼不提交先保存起來,而後去建立新分支優先修改bug)優化

 1 git status (發現有modified)  2 git stash (把當前工做現場儲存起來)  3 git status (發現當前 工做區是乾淨的了)  4 git checkout master (去master上去修復bug)  5 git checkout -b issure-101
 6 vim readme.txt   (修改Git is free software 爲 Git is a free software)  7 git add .  8 git commit -m "fix bug 101"
 9 git checkout master 10 git merge --no-ff --m "merged bug fix 101" issure-101  (--no-ff --m表示不使用快速合併,並寫入commit) 11 git checkout devlop 12 git stash list (查看儲存) 13 git stash pop (恢復同時把stash內容刪除) 14 git stash apply (恢復) 15 git stash drop (刪除) 16 git stash apply stash@{0}  (恢復指定的stash)

 

11. 多人協做

1 git push origin dev   (向遠程庫推送dev分支,遠程庫沒有dev分支)

 

12. 修改倉庫名

1 git branch -m feature-user-management    (feature-user-management新的倉庫名)

 

13. 衝突

1 修改了同一個文件: 2 git pull 3 git status 4 1.git merge --abort (終止合併) 5 2.git commit -a (強行合併並提交,不要用) 6 3.git add . (強行合併並提交,也不要用) 7 4.vim readme.txt, 手動修改

 

14. 合併

 1 git checkout -b feature1  2 vim readme.txt  3 (修改一下後保存)  4 git add reamde.txt  5 git commit -m "this is reature1"
 6 git checkout master  7 vim readme.txt  8 (修改一下後保存)  9 git add readme.txt 10 git commit -m "this is master"
11 git merge feature1 12 git status 13 vim readme.txt 14 (手動修改衝突) 15 git add readme.txt 16 git commit -m "conflict fixed"
17 git log --graph --pretty=oneline --abbrev-commit  (查看分支合併狀況)

 15. 退出

1 當使用git logs時,窗口顯示滾動,按q 退出 2 git push -f     (強制提交)

 

原文出處:https://www.cnblogs.com/wangrui38/p/11430937.html

相關文章
相關標籤/搜索