1

Gitと混同しました!!

以前にマスターブランチに追加してコミットしたファイルがいくつかあります。今、私はいくつかのファイルにいくつかの変更を加えましたが、これらの変更を追加してコミットする前に、私が行ったことをすべて放棄して、以前の平和な状態に戻りたいと思います!!

コマンドは何でしたか?

4

4 に答える 4

4

警告!git reset --hard元にgit checkout -- some files戻すことはできません!気をつけて!

最善の方法は、必要ないと思われるものを隠しておくことです。

git stash -u

(-uには、まだ追跡されていないファイルと追跡されているファイルが含まれます)。これで、クリーンな状態に戻ります。そこに何か重要なものがあり、後で気付いた場合、隠し場所を調べてもう一度見つけることができます。それらを再び取り戻すために、あなたはすることができます

git stash pop

それらを再び「消去」する

git stash -u

セーフティネットなしでは何もしないでください。

ファイルのサブセットまたはファイルの一部でこれを行うには、次のことができます。

git add -A && git stash save --patch 

残念ながら、パッチはstashの追跡されていないファイルでは機能しません。

すべての変更に追跡されたファイルのみが含まれる場合、または追跡されていないファイルがぶら下がっていることを気にしない場合は、git addをスキップして、次のようにすることができます。

git stash save --patch

次に、隠したいものを入力するように求められます(効果的に削除します)。このようにして、必要に応じて特定の変更のみをリセットできます-安全に。

無視されたファイルは変更されません。それらを拭くには、

git clean -xdf

これらは無視されるため、これは永続的です。バックアップをとることはそれほど重要ではありません。

于 2012-06-27T17:51:09.543 に答える
1

これを実行するだけです:

git clean -dfx
git reset --hard
于 2012-06-27T17:15:53.547 に答える
0

ファイルがステージング領域にある場合(ファイルをgit add編集した場合):

git reset HEAD file1 file2
git checkout file1 file2

彼らが作業エリアにいる場合:

git checkout file1 file2

また、Adam Dymitrukの回答を見てみることをお勧めします(少なくとも最初の部分)。彼は、変更をキャンセルする前に変更を保存する方法を説明します。

于 2012-06-27T17:12:00.510 に答える
0

ここで何をしたいのか正確にはわかりません。最後のコミットを新しいコミットに置き換えることが目標の場合は、git add通常どおりに更新するファイルを作成しますgit commit --amend。これにより、親が現在のコミットの親である新しいコミットが作成されます。git reset --soft HEAD^続いて。を使用してこれを実行することもできますgit commit

于 2012-06-27T17:13:07.223 に答える