當我想在我的項目中進行一些更改並且想要返回到上次提交的狀態時,我可以使用這兩個選項。他們是否真的做了同樣的事情,或者他們之間有什麼區別?「git reset --hard」和「git checkout。」有什麼區別?
回答
這裏是兩個命令的區別是:
git checkout .
這告訴GIT中檢出當前文件夾,不管它是什麼,從當前分支,並與它替換工作文件夾。但這並不影響工作文件夾的其他區域,也不涉及舞臺。
git reset --hard
這將重置整個工作目錄和階段到當前分支的負責人。你可以認爲這有效地加強了自上次提交以來發生的所有事情。
一般來說硬復位是你不會經常使用的東西,而從各個地方檢出文件/文件夾更爲常見。
如果您沒有按照任何提交ID跟隨它們,也就是說它們會將您的狀態重置爲最新的提交。但是,如果您執行reset --hard <commit_id>
,它會將當前分支的HEAD
更改爲指定的提交ID,而checkout
將創建臨時分支。
git checkout 6a0ff74
# would create a temp branch with its HEAD pointed to commit id
# you can just checkout your original branch.
git reset --head 6a0ff74
# would change the `HEAD` of the current branch. To reverse the change
# you must find the latest commit id and `reset --hard` to it again.
該OP詢問有關重置硬盤和結帳點,而不是重置或檢出一個提交哈希。 (不是我的downvote) –
@TimBiegeleisen我已經在我的第一行中回答了那個部分,沒有太大的區別。只有在我們使用這些命令提交時纔會出現差異。 – hspandher
git checkout
從Git服務器獲取更新數據,並保持您的更改在本地機器。
git reset --hard
在特定的頭部創建像Git服務器一樣的副本標識,並放棄本地機器上的所有更改。
- 1. 「git checkout -f」和「git reset --hard HEAD」有什麼區別?
- 2. git reset --hard HEAD和git checkout之間有區別嗎?
- 3. 「git reset --hard hash」和「git checkout hash」有區別嗎?
- 4. 「git checkout」和「git checkout - 」有什麼區別?
- 5. git reset --hard HEAD和git clean --force -d有什麼區別?
- 6. git reset文件和git checkout文件有什麼區別?
- 7. 「git reset」和「git rebase」有什麼區別?
- 8. 「git checkout tag-name」vs「git reset --hard tag-name」
- 9. git-stash和git-checkout有什麼區別?
- 10. 'reset hard head'和'reset hard'之間的區別是什麼?
- 11. `git reset HEAD`和`git reset HEAD〜'之間有什麼區別嗎?
- 12. git clone和checkout有什麼區別?
- 13. git reset --hard HEAD
- 14. git reset --hard origin/master?是什麼意思?
- 15. 「git reset --hard」與「git reset --hard HEAD」一樣嗎?
- 16. 運行git reset --hard手動
- 17. git reset後的衝突--hard
- 18. Git reset hard and going back
- 19. git checkout commit-name和git checkout branchname有何區別
- 20. `git diff`和`git difftool`有什麼區別?
- 21. git add *和git add。有什麼區別?
- 22. git am和git apply有什麼區別?
- 23. git push和git pull有什麼區別?
- 24. file .git和directory .git有什麼區別?
- 25. Git reset --hard和一個遠程倉庫
- 26. git reset --hard沒有幫我用rake db:migrate
- 27. git-reset與git-clean的區別
- 28. Git Revert,Checkout and Reset for Dummies
- 29. `git merge B --ff`(成功時)和`git reset B --hard`如何不同?
- 30. git reset --hard掛在CircleCI/Ubuntu 14與git-lfs <1.5.6
https://stackoverflow.com/questions/3639342/whats-the-difference-between-git-reset-and-git-checkout –
可能的重複[git reset和git checkout之間有什麼區別] ?](https://stackoverflow.com/questions/3639342/whats-the-difference-between-git-reset-and-git-checkout) – Kai