Git自學成才——Pull Request

發起一個新的PR(pull request)比較容易,在網頁上點擊就能夠,注意選擇好目標分支。git

接下來,會進入review的階段,這個階段可能會比較漫長,review的comments和你的從新修改commit,甚至包括replyweb

在這個漫長的階段,PR要merge的目標分支可能又會又不少的提交,即便你的PR被review經過了,解決衝突也是一件麻煩的事情,你能夠選擇在相似GitHub的網站上經過web的方式修改衝突(若是衝突比較少仍是能夠的),另外一種方式就是在本地解決衝突(有IDE的幫助)再push上去。bash

接下來,介紹一下在這個漫長的PR階段,如何保持代碼在最小的衝突狀況下,而且保持commit數量只有一個(不少人要求PR的commit只有一個)網站

好比,本身的分支是 feature/test,目標分支是 devui

  1. 保證本地的 feature/testdev 分支,代碼都是最新的spa

  2. 切換到 feature/test 分支,執行code

git rebase dev
複製代碼
  1. 手動解決衝突以後,執行
git add .
複製代碼

用來標記衝突的文件已經解決。string

  1. git status 看一下,若是文件都是綠色的,就能夠繼續執行rebase
git rebase --continue
複製代碼

用來讓rebase繼續執行。若是還出現衝突,請反覆執行第3,4步。it

  1. 若是須要把commit數量壓縮成1個,我這裏選擇使用reset
git reset --soft [commit-id]
複製代碼

這裏的 [commit-id] 指的是 feature/testdev 分支的共同父節點。class

  1. 而後執行一次commit
git commit -m "just test"
複製代碼
  1. 一切順利,執行push(須要強推)
git push -f origin feature/test
複製代碼

反覆執行以上的步驟,來度過可能很漫長的PR review階段,直到最後成功merge到目標分支。

相關文章
相關標籤/搜索