私はそのようなファイルでプロジェクトを与えられました:
MyProject/
a.txt
b.txt
c.txt
ディレクトリでGitリポジトリを初期化しましたが、(愚かにも)最初にすべてのファイルをリポジトリに追加しませんでした。代わりに、ファイルを変更する必要があることに気付く直前に、ファイルをリポジトリに追加しました。
git add a.txt; git commit -m "Pristine A"
<awesome changes to a.txt>
git commit -am "Awesome Changes"
残念ながら、私の熱狂的な編集の中で、いくつかのファイルに対してこれを行うのを忘れていました。(読み取り:多くのディレクトリにある数十のファイル。明示的なパスでは見つけるのが困難になります。)
<awesome changes to b.txt>
git status # Uh oh, new file b.txt
素晴らしい変更を加える前にプロジェクトのスナップショットを取得できるので、Gitはそれ以降に変更されたファイルを教えてくれます。ただし、すでに追加した数十のコミット(説明付き)を失いたくありません。
「元の」スナップショットを取得し、既存のコミットを失うことなく、また変更されたがコミットにすでに記録されているファイルの誤検知を取得することなく、作業ディレクトリと比較して変更されたファイルをGitに計算させるにはどうすればよいですか?
FWIW最初にディレクトリ全体を追加しなかった私の最初の「正当化」は、自分の作業に関係のないファイルが何千もあり、ディレクトリは高遅延のSMBでのみ利用可能であり、どのファイルが重要かを知っていると思ったためです。