1. 程式人生 > 其它 >Git命令大全【杭州多測師_王sir】【杭州多測師】

Git命令大全【杭州多測師_王sir】【杭州多測師】

1. 初始化專案
git init

2. 建立本地倉庫和遠端倉庫的連線
git remote add origin 遠端倉庫地址

3. 已有專案只需克隆專案到本地,無需進行前兩步
git clone 遠端倉庫地址

4. 建立並切換分支
git checkout -b 分支名 / git switch -c 分支名
等同於:
git branch 分支名  (建立分支)
git checkout 分支名  (切換分支)

4-1. 檢視當前分支
git branch
4-2. 切換分支
git checkout 分支名  /  git switch 分支名
4-3. 常見分支型別有:
master:主分支,一般只有擁有相關許可權的人員可以操作
sit:測試分支,合併分支後,測試人員在sit環境測試
release:預釋出分支,release 為預上線分支,釋出提測階段,會以此分支程式碼為基準提測
feature:功能分支,可使一個功能建立一個功能分支
dev:開發分支
hotfix: 專案發版後的緊急修復分支
bug: 一般只用於本地修復bug

5. 更新本地專案,從遠端倉庫pull到本地
git pull origin 分支名稱  /  git pull

6. 將檔案載入到暫存區
git add .

6-1. 刪除add新增的檔案
git rm --cached 檔名

7. 將檔案提交到本地倉庫
git commit -m "描述資訊" (-m 為描述資訊)

7-1. 描述資訊常見型別有:
feat: 新功能
fix: 修復bug
style:  不影響程式碼含義的更改,如 格式化
perf: 提高效能的更改
docs: 只是文件的更改

8. 合併分支
git merge 分支名 (git merge 用於合併指定的分支到當前分支)
git pull --rebase origin master將本地倉庫和遠端倉庫合併即可

8-1. 合併衝突
使用 git status 檢視工作區衝突檔案
檔案中 git用<<<<<<<,=======,>>>>>>>標記出不同分支的內容,根據需要刪除或儲存。
儲存後重新提交git add .  =>  git commit -m 'commit'  =>  git push
<<<<<<< HEAD
Hello World
======= Hello Word >>>>>>> dev1

9. 刪除本地分支
git branch -d 分支名   (強行刪除應使用 git branch -D 分支名)

10. 將本地倉庫推送到遠端倉庫
git push origin 分支名  / git push  (強行推送可用 git push -f  )
一般在推送前需要先用 git pull 命令拉取新程式碼,才能push成功。
使用 git log 命令檢視提交資訊,若本地分支比遠端分支快兩個提交,嘗試推送本地分支;
若失敗了,說明有人先推送了遠端分支,使用 git pull 拉取;
加上之前的合併提交,現在本地分支比遠端分支超前3個提交,使用 git log 會發現這個分叉很不好看,但是可以push成功嗎?可以。
但是對於有強迫症的同學就不太好了,此時,可以使用 git rebase 命令,將原本分叉的提交變成一條直線,之後在push,遠端的提交歷史也是一條直線。

11.  專案發版後可能有緊急bug需要修復,此時應建立bug分支或hotfix分支進行修復,修復完成後,合併分支到master。
若有緊急bug需修復時,此時工作區還未提交,且此時工作尚未完成,無法提交,此時可使用 git stash ,將當前工作現場隱藏,等bug修復完成後在恢復現場。
隱藏後使用 git status 檢視工作區,此時工作區時乾淨的。
修復完成後,使用 git stash list 可檢視工作現場。
此時,使用 git stash apply 恢復現場,但恢復後, stash 內容 並沒有刪除,需要使用命令 git stash drop 刪除。
或者使用 git stash pop 命令,恢復現場同時刪除stash內容。
再用 git stash list 命令檢視,就看不到任何stash內容了。
可以多次使用 git stash 命令‘儲藏’工作區,恢復時
先用 git stash list 檢視,後可指定要恢復的stash,如 git stash apply stash@{0}