Git命令彙總

ii_chengzi發表於2019-01-06

一、Git版本分支管理

以下是一個比較基本的分支管理示範,每個公司的專案管理運作不同,分支管理也有各自的特色,但萬變不離其宗。

1) dev分支用於日常開發

2) 當有新版本需要釋出時,把dev程式碼合併到release分支做整合測試,並等待發布

3) release分支進入bug修復階段

4) 如果在release分支發現bug,那麼在release分支進行修改,並使用git cherry-pick把修復bug的commit合併到release分支上

(cherry-pick與merge不同,它的合併是以commit為單位而非整個branch)

完成後,release分支上所有程式碼改動(除版本號之外)都應該已經合到了dev分支上

5) release分支測試完成後,釋出到線上環境

6) 並且打上tag,合併到master分支上

7) 如果線上上出現bug,那麼在master上hot fix修復

8) 出現hot fix並修復後,需要重新把hot fix的程式碼合併到dev以及release分支中去使程式碼保持一致

 

二、Git基本命令彙總

1.檢視本地檔案狀態

git status —-檢視本地、本地倉庫、快取(stash)的檔案修改狀態

—紅色 代表本地工作空間的檔案修改

—藍色 代表提交到本地倉庫中的檔案(git add .)

2.切換版本/覆蓋當前修改檔案

git branch - 檢視當前版本

git branch -a 檢視所有版本

git checkout XXX(版本名) —-切換到遠端庫中XXX版本

git checkout filepath —覆蓋當前修改的檔案

git checkout . -覆蓋當前所有修改檔案

3.從遠端庫獲取最新程式碼

git remote -檢視遠端庫名稱

git remote -v

git remote show XXX(遠端庫名)

git fetch — 從remote端拉取最新程式碼

git pull XXX(遠端庫名) XXX(分支名) -把拉取的最新程式碼跟當前工作空間合併

git rebase —把遠端拉回的程式碼和本地合併

4.快取原生程式碼

當要切換到其它版本時,想儲存在當前版本修改的檔案:在切換前做

git stash —-把本地修改過不需要提交的檔案放入快取

git checkout XXX(版本) —切換庫版本

切回原來的庫,把檔案從stash快取中拿出來

git stash pop — 從快取中拉出

5.提交遠端庫

git add .

git commit -m ''

git remote 檢視遠端關聯名稱

git push remote的名稱 本地master

6.處理衝突

git fetch 拉取最新工程

git pull XXX(遠端庫名) XXX(分支名) -把拉取的最新程式碼跟當前工作空間合併

衝突產生後,去工作空間修改後,>>>新程式碼===老程式碼<<<,保留最終程式碼,刪除提示符,重新提交。

7.把本次提交的內容提交到其他分支(比如釋出時bug的修改)

git cherry-pick commitId

8.建議執行順序

git status 檢視修改狀態

git checkout filename 放棄某檔案的修改。

git stash 儲存修改

git fetch 拉取最新工程

git rebase 與本地分支合併

git stash pop 彈出儲存檔案,此時新檔案可能會與你的檔案產生衝突,解決衝突。

git add filename 新增某個修改檔案

git add . 提交所有加點

git reset HEAD filename 回滾指定檔案,回滾所有加點:"git reset HEAD . "

git commit -m''

git push 本地remote遠端分支名,本地分支名

例我的本地分支為master 遠端remote 別名為 origin 則提交為git push origin master

9.切換HEAD

git reflog --檢視HEAD記錄

git reset --hard HEAD^ //切換到之前一個HEAD

git reset --hard fad4462 // 切換到某個已經回退的HEAD

10.刪除 local branch

git branch -d

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2374619/,如需轉載,請註明出處,否則將追究法律責任。