在 Git 中把檔案重置為與主分支相同的狀態
Ashok Chapagai
2023年1月30日
2022年4月22日
假設 master
分支中有一個重要的檔案不應該被編輯,但是可惜它已經在 dev
分支中被編輯和提交了好幾次。現在你要放棄對檔案所做的所有更改並將其狀態更改為與 master
分支中的相同。有一種簡單的方法可以輕鬆實現這一目標。
在 Git 中把檔案重置為 master
分支
以下語法會將所選檔案恢復為與 master 分支中的檔案相同。
git checkout master -- <filename>
在這裡,--
告訴 git,--
後面的文字應該被解釋為檔名,而不是分支名稱或其他任何東西。
一旦命令執行,新重置檔案中的內容之間的差異將被快取。要檢視重置了哪些更改,你可以執行以下命令來檢視差異,
git diff --cached
在 Git 中將檔案重置為特定提交
可能會出現另一種情況,就像你要將特定檔案重置為特定提交一樣。為此,你可以看到檔案的兩個版本之間的更改,如下所示。
git diff <commit_hash> <filename>
在這裡,commit_hash
是你想要將更改與檔案的當前版本進行比較的提交。現在你確定要重置的更改,你可以將特定檔案重置為提交雜湊中的版本,如下所示,
git reset <commit_hash> <filename>
實現相同任務的另一種方法是,
git checkout <commit_hash> <filename>
這也有助於實現相同的結果。
Author: Ashok Chapagai