Git Part 2 : commit reset checkout - innowantai/Note GitHub Wiki


Part 2 : git commit -- args Git reset git checkout arg1 arg2

  • git add .將檔案加入至.git中進入Staged狀態後,若想返回至modified狀態則使用git reset xxxx

  • git log --oneline 可列出每個Staged commit後所對應之commit ID

  • 要返回先前之Staged使用git reset --hard args, args有以下幾種格式

    • git reset --hard HEAD^, ex : git reset --hard HEAD^^ 返回至倒數第2個Staged
    • git reset --hard HEAD~number, ex : git reset --hard HEAD~3 返回至倒數第3個Staged
    • git reset --hard "commit ID", 返回至commit ID之Staged
  • 使用git reset --hard "commit ID"返回所指定之Staged時,目標資料夾檔案會回復至此"commit ID"時之狀態

  • 返回至先前之Staged後,git log --oneline所紀錄之資訊會遺失,若要看先前資訊則使用git reflog查看

  • git checkout "commit ID" "FileName" 將檔案返回至指定之"commit ID"之狀態,修改後add並commit會產生一新"commit ID"接續於原本之"commit ID"之後

  • reset v.s checkout

    • reset將整個commit狀態搬回至過去而重新開始
    • checkout將狀態暫時恢復至過去修改後儲存,並不會影響該時間點之後之commit

2018-06-28