IDEA獲取GIT倉庫時更新類型update type的選擇


Idea 獲取 git 倉庫時更新類型update type 的選擇

各選項代表內容:

 

 

 

注意:

Update Type 選擇

  • Merge:結果與運行 git fetch ; git merge 或 結果相同 git pull。
  • Rebase:結果與運行 git fetch ; git rebase 或 結果相同 git pull --rebase。
  • Branch Default:此選項用於選擇應用分支的默認命令。default 命令 branch. 在 .git/config 配置文件的部分中 指定 。

使用場景:

Merge:因為成員的代碼開發工作已經完成了,也不需要再保留這個分支了,所以我們可以把這個成員分支 merge 到主分支上,當然沖突在所難免,手工解決的工作肯定逃不掉,但是利大於弊不是嗎。merge 以后,分支就不存在了,但是在 Git 的所有分支歷史中還能看到身影。

Rebase:如果修改了某個公用代碼的 BUG,這個時候就應該是把所有的 OEM 版本分支 rebase 到這個修復 BUG 的分支上來,在 rebase 過程中,Git 會要你手動解決代碼上的沖突,你需要做的就是把修復 BUG 的代碼放到目標分支代碼里面去。rebase 的結果是:所有的分支依然存在。

比如說自己在自己分支開發了一段時間,之后另外的同事開發的功能正式上線到 master 分支了,那么我可以在當前的分支下 rebase 一下 master 分支,這樣我這個分支的幾個 commits 相對於 master 還是處於最頂端的,也就是說 rebase 主要用來跟上游同步,同時把自己的修改頂到最上面

  1. merge 結果能夠體現出時間線,但是 rebase 會打亂時間線。
  2. 而 rebase 看起來簡潔,但是 merge 看起來不太簡潔。
  3. 最終結果是都把代碼合起來了,所以具體怎么使用這兩個命令看項目需要。

還有一點說明的是,在項目中經常使用git pull來拉取代碼,git pull相當於是git fetch + git merge,如果此時運行git pull -r,也就是git pull –rebase,相當於git fetch + git rebase

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM