作業段階でいくつかのファイルを編集しました(git add -A
コミットメントなしで追加していません)。
ここで、変更をローカル ブランチの最後のコミットに戻したいと思います。
何をすべきか?
私はすでに少し検索して見つけました:
git rebase -i HEAD
しかし、私は得る:
Cannot rebase: You have unstaged changes.
Please commit or stash them.
では、正しい方法は何ですか?
作業段階でいくつかのファイルを編集しました(git add -A
コミットメントなしで追加していません)。
ここで、変更をローカル ブランチの最後のコミットに戻したいと思います。
何をすべきか?
私はすでに少し検索して見つけました:
git rebase -i HEAD
しかし、私は得る:
Cannot rebase: You have unstaged changes.
Please commit or stash them.
では、正しい方法は何ですか?
以下を使用して、コミットされていないすべての変更を破棄できます。
git reset --hard
警告:これにより、ステージングされた、または作業ツリーにあるすべての変更が実際に削除され、最後のコミットの状態に戻るため、注意して使用してください。
ローカルの変更を元に戻したい場合で、一時的に邪魔にならないようにしたい場合 (たとえば、別の作業をするため) は、次のようにします。
git stash
... 代わりは
と
git stash
現在の作業状態をスタッシュに保存して、後でファイルにアクセスできます。「隠した」後は、自動的に最後のコミットになります。
この記事を読んで、永遠に理解してもらうことを強くお勧めします。 http://git-scm.com/2011/07/11/reset.html
これらの変更を保持したくない場合は、
git reset --hard
またはそれらを保持したい場合
git reset --soft
あなたがそれらを使用できるように保存したい場合は、手紙を書いてください
git stash
それらを後者に適用する
git stash --apply stash@{number}
以下のコマンドを実行するだけです。変更が削除されます
git reset HEAD .
git checkout .