引言
在軟體開辟過程中,錯誤是弗成避免的。偶然間,我們可能會不警惕提交了錯誤的代碼,或許想要打消之前的某些操縱。Git 供給了一系列的打消跟回滾操縱,幫助我們處理這些情況。本文將具體介紹 Git 打消操縱,包含錯誤回滾跟完美修復的方法。
Git 打消操縱概述
Git 打消操縱重要分為兩類:打消(Undo)跟回滾(Rollback)。打消操縱平日用於打消尚未提交到暫存區的變動,而回滾操縱則用於打消曾經提交的變動。
打消操縱
未增加到暫存區的打消(Working Tree 內打消)
- 命令:
git checkout -- <file>
- 感化:打消任務區的全部未暫存變動。
- 命令:
增加到暫存區的打消(Index 內回滾)
- 命令:
git reset HEAD <file>
- 感化:打消暫存區中指定的文件變動。
- 命令:
打消多個文件的變動
- 命令:
git reset HEAD <file1> <file2> ...
- 感化:打消多個文件的變動。
- 命令:
打消全部變動
- 命令:
git reset HEAD .
- 感化:打消全部文件的變動。
- 命令:
修改最後一次提交
- 命令:
git commit --amend -m "新提交信息"
- 感化:修改最後一次提交的信息。
- 命令:
打消多個提交
- 命令:
git reset [--hard|soft|mixed|merge|keep] [commit HEAD]
- 感化:打消指定次數的提交。
--hard
選項會刪除全部打消提交後的變動。
- 命令:
回滾操縱
打消最後一次提交
- 命令:
git reset --hard HEAD~1
- 感化:打消最後一次提交,並刪除全部打消提交後的變動。
- 命令:
打消多次提交
- 命令:
git reset --hard HEAD~<n>
- 感化:打消 n 次提交,並刪除全部打消提交後的變動。
- 命令:
打消指定提交
- 命令:
git revert <commit-hash>
- 感化:打消指定的提交,並創建一個新的提交來打消之前的變動。
- 命令:
實戰案例
以下是一些 Git 打消操縱的實戰案例:
打消未暫存文件的變動
- 假設你修改了文件
example.txt
,但還不履行git add
命令。利用以下命令打消變動:git checkout -- example.txt
- 假設你修改了文件
打消已暫存但未提交的變動
- 假設你已將
example.txt
文件增加到暫存區,但想要打消變動。利用以下命令:git reset HEAD example.txt git checkout example.txt
- 假設你已將
打消最後一次提交
- 假設你想要打消最後一次提交,並刪除全部打消提交後的變動。利用以下命令:
git reset --hard HEAD~1
- 假設你想要打消最後一次提交,並刪除全部打消提交後的變動。利用以下命令:
打消指定提交
- 假設你想要打消提交
4b0073265f1229777999a9462789ea46393bf4a5
,利用以下命令:git revert 4b0073265f1229777999a9462789ea46393bf4a5
- 假設你想要打消提交
總結
Git 打消操縱是軟體開辟中非常重要的技能。經由過程本文的介紹,信賴你曾經控制了 Git 打消操縱的基本方法。在現實開辟過程中,純熟應用這些操縱,可能幫助你疾速處理各種成績,進步任務效力。