git rebase( 操作會丟棄當前分支已提交的 commit)

  • merge 是一個合并操作,會將兩個分支的修改合并在一起,默認操作的情況下會提交合并中修改的內容
  • merge 的提交歷史忠實地記錄了實際發(fā)生過什么,關注點在真實的提交歷史上面
  • rebase 并沒有進行合并操作,只是提取了當前分支的修改,將其復制在了目標分支的最新提交后面
  • rebase 的提交歷史反映了項目過程中發(fā)生了什么,關注點在開發(fā)過程上面
  • merge 與 rebase 都是非常強大的分支整合命令,沒有優(yōu)劣之分,使用哪一個應由項目和團隊的開發(fā)需求決定
  • merge 和 rebase 還有很多強大的選項,可以使用 git help <command> 查看
  • 使用 merge 時應考慮是采用 --no-ff 默認操作,生成一個對回顧提交歷史并不友好的合并記錄,還是采用 --ff-only 方式
  • rebase 操作會丟棄當前分支已提交的 commit,故不要在已經 push 到遠程,和其他人正在協(xié)作開發(fā)的分支上執(zhí)行 rebase 操作
  • 與遠程倉庫同步時,使用 pull 命令默認進行了 git fetch + git merge --no-ff 兩個操作,可以通過加上 --rebase 命令將 fetch 后的 merge 操作改為 rebase 操作,或者僅僅 'git fetch remoteName',然后才思考采取哪種整合策略 git merge(or rebase) origin/master
  • 開發(fā)與 commit 時注意自己此時在哪個分支上,當有修改未 commit 時,不能進行 rebase 操作,此時可以考慮先用 git stash 命令暫存
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 01 分支的實現(xiàn)原理 Git的分支特性常常被稱為“必殺技特性”,因為分支給團隊開發(fā)提供了很大的便利,而且在Git中...
    Happioo閱讀 1,273評論 0 1
  • 雨 會是一場瓢潑瓦灌 又或者淅淅瀝瀝而已 雨 是我藏在云底的憂傷 它落下的時節(jié) 也正是我重逢憂傷的時刻 雨 我不愿...
    光耀我心閱讀 132評論 0 0
  • 風 打開扉頁的藍 清淺的時光 涂滿顫動的筆尖 墨水 暈開一道浪花 綻放在五月的麥田 提筆 花開成思念 揉碎的悵惘 ...
    躲進麥田閱讀 215評論 2 9
  • 我想你的時候 不是我 是那個日記被發(fā)現(xiàn)的孩子 本子上凌亂的寫著 關于你的抽象 我想你的時候 不是我 是那個不會停止...
    林豐滿閱讀 263評論 0 1
  • Angelababy的出院照刺激了一大波當媽的,于是朋友圈里還出了這樣一個段子。 今天被這組圖和文字給快刷爆朋友圈...
    涵涵媽育兒閱讀 273評論 0 0

友情鏈接更多精彩內容