- git rebase and git merge 區別html
- git在工做中正確的使用方式----git rebase篇git
Git 操做
假設Git目前只有一個分支master。開發人員的工做流程是post
git clone master branch
在本身本地checkout -b local建立一個本地開發分支
在本地的開發分支上開發和測試
階段性開發完成後(包含功能代碼和單元測試),能夠準備提交代碼
首先切換到master分支,git pull拉取最新的分支狀態
而後切回local分支
經過git rebase -i 將本地的屢次提交合併爲一個,以簡化提交歷史。本地有多個提交時,若是不進行這一步,在git rebase master時會屢次解決衝突(最壞狀況下,每個提交都會相應解決一個衝突)
git rebase master 將master最新的分支同步到本地,這個過程可能須要手動解決衝突(若是進行了上一步的話,只用解決一次衝突)
而後切換到master分支,git merge將本地的local分支內容合併到master分支
git push將master分支的提交上傳
本地開發分支能夠靈活管理
git checkout master
git pull
git checkout local
git rebase -i HEAD~2 //合併提交 --- 2表示合併兩個
git rebase master---->解決衝突--->git rebase --continue
git checkout master
git merge local
git push單元測試
- Git本地分支和遠程分支關聯測試
7.若是遠程新建了一個分支,本地沒有該分支。url
能夠利用 git checkout --track origin/branch_name ,這時本地會新建一個分支名叫 branch_name ,會自動跟蹤遠程的同名分支 branch_name。spa
git checkout --track origin/branch_name
8.若是本地新建了一個分支 branch_name,可是在遠程沒有。code
這時候 push 和 pull 指令就沒法肯定該跟蹤誰,通常來講咱們都會使其跟蹤遠程同名分支,因此能夠利用 git push --set-upstream origin branch_name ,這樣就能夠自動在遠程建立一個 branch_name 分支,而後本地分支會 track 該分支。後面再對該分支使用 push 和 pull 就自動同步。htm
git push --set-upstream origin branch_name