1. 程式人生 > >git的rebase、reset、merge

git的rebase、reset、merge

我認為對於git初學者來說最令人困惑的是主要命令根據引數或上下文有多種用途,其中一些用法沒有通過命令的名稱來描述。

合併(Merge)

  • 合併不同的分支(不同的歷史,更確切地說)
  • 如果不需要合併,則快進 ; 有效地將分支頭重新定位到後代提交
  • 不需要結果git pull

變基(Rebase)

  • 重放一組提交,就像它們是基於另一個父級一樣
  • 互動式地用於歷史清理:重新排序和壓縮相關的提交
  • 應該用來git pull代替合併

   重置(reset)

  • 重置(unstages)更改新增到索引; 撤銷git add
  • 分支頭重新定位到另一個提交; 可選地重置索引和工作樹
    • 撤消提交,要麼丟棄更改,要麼保留它們以供下次提交
    • 丟棄自上次提交以來的所有工作副本更改

簽出(checkout)

  • 切換分支
    • 建立一個新分支並切換到它
  • 出另一個提交中的檔案或目錄
    • 丟棄自上次提交以來的所有工作副本更改
    • 解決合併衝突