Git 回到過去歷史的 Commit | Git

在Git中 checkout 是一個強大的功能,它讓你可以輕鬆地回到過去的某個特定 commit,查看當時的程式碼狀態,這對於除錯、比較不同版本的程式碼、或者修復錯誤都非常有用。現在讓我們來深入了解如何使用這個功能。

什麼是 Commit?

在 Git 中,commit 是指對專案中的更改的一個快照。每當你在專案中做了一些更改,比如新增、修改或刪除檔案,你都可以將這些更改提交成一個 commit。每個 commit 都有一個唯一的id識別碼(SHA-1 hash),它標識了該 commit 的內容和歷史。

如何回到過去的 Commit?

要回到過去的 commit,你需要使用 git checkout 命令,後接著你要回到的 commit 的識別碼。以下是一個簡單的範例:

git checkout <commit id>

這將使你的專案回到該特定 commit 時的狀態。如果你想回到最新的 commit,只需使用 git checkout master(假設你的主分支為 master)。

範例

讓我們假設我們有一個名為 my_project 的專案,並且我們想要回到一個名為 abc123 的 歷史commit:

git checkout abc123

這將使我們的專案回到 commit abc123 的狀態,我們可以查看該 commit 時的程式碼、檢查錯誤或者進行其他操作。

注意事項

  1. 新的分支 :在回到過去的 commit 後,你可能想要創建一個新的分支,以便在這個特定 commit 上進行更多的工作。你可以使用 git checkout -b <new_branch_name> 命令來創建一個新的分支並切換過去。
  2. 修改並提交 :在回到過去的 commit 後要非常小心,這可能會影響你專案的歷史和其他分支。通常我們會在最後的commit再進行修改,不會直接修改過去歷史的commit,因為這樣可能會讓專案出現許多問題
  3. 慎用 :回到過去的 commit 是一個強大的功能,但要謹慎使用。當你回到過去的 commit 後,你可能會丟失一些後續的更改,因此在執行之前,最好先確保你知道自己在做什麼。

如果我們回到歷史的commit中,我們要使用git log –oneline –all才能看到所有的commit

git log --oneline --all

如果想要回到原本最後的commit非常簡單,我們使用git checkout master就可以了

git checkout master

結語

在這篇文章中,我們學習了如何使用 Git 的checkout功能來回到過去的 commit。這是一個非常有用的功能,可以幫助你管理和維護你的專案,並更好地理解你的程式碼歷史。希望這篇文章對你有所幫助!