- git rebase and git merge 區別
- git在工作中正確的使用方式----git rebase篇
Git 操作
假設Git目前只有一個分支master。開發人員的工作流程是
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
7.如果遠程新建了一個分支,本地沒有該分支。
可以利用 git checkout --track origin/branch_name ,這時本地會新建一個分支名叫 branch_name ,會自動跟蹤遠程的同名分支 branch_name。
git checkout --track origin/branch_name
8.如果本地新建了一個分支 branch_name,但是在遠程沒有。
這時候 push 和 pull 指令就無法確定該跟蹤誰,一般來說我們都會使其跟蹤遠程同名分支,所以可以利用 git push --set-upstream origin branch_name ,這樣就可以自動在遠程創建一個 branch_name 分支,然后本地分支會 track 該分支。后面再對該分支使用 push 和 pull 就自動同步。
git push --set-upstream origin branch_name