で削除したファイル、あなたはどうなるファイルへの変更を破棄するために:私は破棄する変更は、ファイルを削除された場合はどうUnstage通常のgit
git checkout -- <file>
?上記の行にエラーがあります:
他の変更を元に戻すことなく、その1つのファイルを復元するコマンドはありますか?
ボーナスポイント:また、私は破棄する変更ははファイルを何を追加している場合はどうなりますか?私はその変化を無段階にする方法を知りたい。
で削除したファイル、あなたはどうなるファイルへの変更を破棄するために:私は破棄する変更は、ファイルを削除された場合はどうUnstage通常のgit
git checkout -- <file>
?上記の行にエラーがあります:
他の変更を元に戻すことなく、その1つのファイルを復元するコマンドはありますか?
ボーナスポイント:また、私は破棄する変更ははファイルを何を追加している場合はどうなりますか?私はその変化を無段階にする方法を知りたい。
あなたは「gitのrmを」または「RM」に続いて「gitの-Aを追加する」または類似した何かの効果を元に戻すしたいしていると仮定すると、あなたがまだコミットしていないと仮定すれば、上の行は十分です。
git reset COMMIT_HASH file_path
git checkout COMMIT_HASH file_path
git add file_path
これは、いくつかは、前のコミットが発生削除のために動作します:それは上演し、コミットされている場合は
完璧な答え! –
'--'がキーです。 'git reset
完全に動作します。これを1つのコマンドに集約できますか? –
両方の質問はgit status
で回答されています。ファイルの使用に一方でgit reset HEAD filename.ext
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# deleted: test
を削除unstageするには、新しいファイルの使用にgit rm --cached filename.ext
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: test
を追加unstageする
、git checkout --
unstage決して、それだけで非段階的な変更を破棄します。
Debianのgit 1.7.2.5で削除されたファイルのヒントが表示されません。 – tripleee
2つの質問に対する回答は関連しています。私は2番目から始めましょう:
(いくつかの他のコマンドは、暗黙のうちにgit rm
のように、同様の変更をステージングかかわらず、多くの場合、git add
で)あなたはgit reset -- <file>
とその変更をバックアウトすることができますファイルを上演してきたら。
ファイルを削除するにはgit rm
を使用している必要があります。これはrm
でファイルを削除し、その変更をステージングするのと同じです。最初にgit reset -- <file>
でステージングを解除すると、git checkout -- <file>
で回復できます。まず、
# this restores the file status in the index
git reset -- <file>
# then check out a copy from the index
git checkout -- <file>
「gitの追加」元に戻すには:
は、次のファイルをリセットします。
変更を取り消すと、2つの異なることがあります。 –
これは1つの投稿の2つの異なる質問と問題です。これにより、回答が非常に不必要に混乱することになります。 –