私のプロジェクトでいくつかの変更が必要なときに、最後のコミットの状態に戻したい場合は、これらの両方のオプションを使用できます。彼らは実際に同じことをするのですか、それともそれらの間に違いはありますか?"git reset --hard"と "git checkout"の違いは何ですか?
答えて
は、2つのコマンドの違いは、次のとおりです。
git checkout .
これは、現在のブランチから、それが何であれ、現在のフォルダをチェックアウトし、それを作業フォルダを置き換えるためのGitに指示します。しかし、これは作業フォルダの他の領域には影響しませんし、ステージにも関係しません。
git reset --hard
これは、現在のブランチのHEADに全体の作業ディレクトリとのステージをリセットします。これは、あなたの最後のコミット以来起こったことすべてを効果的にヌークすると考えることができます。
一般に、ハードリセットは頻繁には使用しませんが、さまざまな場所からのファイルやフォルダのチェックアウトが一般的です。
コミット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
特定のHEADでGitサーバーのようにコピーIDを作成し、ローカルマシンですべての変更を破棄します。
- 1. git resetの違い--hard HEAD ^対git reset - hard HEAD?
- 2. "git reset -hard"は "git reset -hard HEAD"と同じですか?
- 3. 「git checkout tag-name」と「git reset -hard tag-name」の比較
- 4. git checkout commit-nameとgit checkout branchnameの違いは何ですか
- 5. "git reset --hard" with SVN
- 6. "git reset"と "git rebase"の違いは何ですか?
- 7. 単一のファイル混乱でGit Hard Reset
- 8. 「git checkout - 」とは何ですか?行う?
- 9. "git reset -hard origin/master"のPerforceと同じもの
- 10. Gitコマンド:git checkout -b <branch><リモートブランチ>とgitブランチ<branch><リモートブランチ>の違いは何ですか?
- 11. git pull、git fetchとgit rebaseの違いは何ですか?
- 12. git checkout - 。 vs git checkout
- 13. レポ開始とgit checkoutの違い-b
- 14. git revertとgit checkout
- 15. アップストリームでフォークを同期する:git fetch + git checkout + git mergeとgit checkout + git pull
- 16. `git reset`コマンドを扱うソースファイルは何ですか?
- 17. git reset remote head
- 18. git pushとgit commitのタグの違いは何ですか
- 19. Git/Git Extensionの "squash"と "fixup"の違いは何ですか?
- 20. git fetchとgit fetch originの違いは何ですか
- 21. "git add"と "git update-index"の違いは何ですか?
- 22. "git whatchanged - filename"と "git rev-list-filename"の違いは何ですか?
- 23. gitとgitの違いは何ですか?
- 24. 'git format-patchと' git diff 'の違いは何ですか?
- 25. git commit -amとgit -mの違いは何ですか
- 26. git pushとgit pullの違いは何ですか?
- 27. 「git remote update」と「git fetch」と「git pull」の違いは何ですか?
- 28. gitクローンリポジトリの "reset"コマンドとは何ですか?
- 29. msys/gitとgit-for-windows/mingw-w64-x86_64-gitの違いは何ですか?
- 30. git fetch B + git merge Bとgit merge originの違いは何ですか?
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