1

コミットしたいファイルがいくつかありましたが、レビュー/ロールバックしたい場合に備えて、履歴をきれいにするために、それらを小さなグループにコミットすることを計画していました。サブセットをコミットしようとしましたが、見逃していることに気付きました。git commit の実行中に、Ctrl + C キーボード割り込みを行いました (プロセスを強制終了するための本能であり、ここでは明らかに正しい動きではありません)。git がローカル ファイルをワイプし、履歴が完全に失われていることがわかったので、ローカル ブランチを削除して再度プルする必要がありました。git fsck を使用しても、ぶら下がっているすべてのブロブ/コミットを調べても、ファイルがどこにも見つかりませんでした。

この質問への答えは「ええ、絶対にやらないでください」だと思いますが、他の誰かが同じ過ちを犯したことがあるが、たまたま回復する方法を知っていて、大量の仕事を失うことはないかどうか知りたいです.

深夜は間違いなく混乱する可能性があります。:-)

4

1 に答える 1

0

git commit -a -m "a commit message" これは、 (または何らかのエイリアス)を実行した場合にのみ発生する可能性があります。

これを回避する最善の方法は、常に追加してからコミットすることです。

そして、(私にとって)追加する最良の方法は、 --patch オプションを使用することです:

git add -p

このようにして、一貫したコミットを行うために、ファイルごとに追加するだけでなく、変更された各ファイル内にチャンクごとに追加します。

于 2013-10-14T18:21:51.133 に答える