いくつかのファイルの空のバージョンをコミットできますか?場合によっては、というファイルを新規に追加してコミットする必要があり、その内容を新しいファイルと見なすようにする必要があります(はありません。を追加する必要があります) git diff
は、そのファイルをコミットされた空のバージョンと比較することによって新しく追加されたコンテンツを表示する必要があります)。新しいファイルの "空のバージョン"をコミットできますか?
git add -N file…
は、インデックス内の空のコンテンツでfile
を置きますが、これが唯一のfile
がを追加されると述べている、とgit commit
は、ファイルが追加されていないと文句を言いた、があります。問題は、現在の空でないバージョンが追加されるべきものではなく、新しいファイルの空のバージョンだけであることです。
これを行う方法はありますか?
PS:この質問は、gitリポジトリにファイルを自動的に追加するプログラムのコンテキストで尋ねられます(私のプログラムは学生が書くコードに従います)。コミットされていないコードは、私がまだ承認していないコードです。したがって、私のプログラムが自分のホームディレクトリに新しい空でないプログラムを見つけたにもかかわらず、生徒が作成したプログラムが起動する状態は、空のになります。これはgitリポジトリ内の新しい学生プログラムファイルの新しい空のバージョンを自動的にコミットすることによって処理されます。したがって、最後にコミットされたgitリビジョンと比較して、新しいコード行が新しく追加されたコンテンツとして表示されます。
によってインデックス内の空のファイルを作成することができます。 '空のファイルに触れて&& git空ファイルを追加&& git commit'が私のために働きます。 – joschi
'git diff'は、新しく作成されたファイルに対して完璧に機能します。ファイルに内容があるときにdiffを指定してファイルが存在しなかった場合は、追加されたすべての行が表示されます。空のファイルとのdiffとまったく同じ差分が表示されます。 (モデルラインだけが異なっています) – Cascabel
@joschi:問題は、新しい*空でない*ファイルがたくさんあることです。 Svenのアプローチ#1を使用することは、きちんとしたgit-plumbingアプローチを使用することよりも面倒です。 – EOL