追跡されていないファイルで git diff を使用できますか? 質問する

追跡されていないファイルで git diff を使用できますか? 質問する

追跡されていないファイルを diff 出力に含めるように要求することは可能ですかgit diff、それとも新しく作成されたファイルと編集した既存のファイルに対して次のコマンドを使用するのが最善策でしょうかgit add

git diff --cached

ベストアンサー1

最近の git バージョンでは、git add -Nファイル (または--intent-to-add) を実行して、その場所のインデックスに長さ 0 の BLOB を追加できます。その結果、「追跡されていない」ファイルは、この長さ 0 のファイルにすべてのコンテンツを追加する変更になり、「git diff」出力に表示されます。

git diff

echo "this is a new file" > new.txt
git diff

git add -N new.txt
git diff
diff --git a/new.txt b/new.txt
index e69de29..3b2aed8 100644
--- a/new.txt
+++ b/new.txt
@@ -0,0 +1 @@
+this is a new file

git stash残念ながら、指摘されているように、このようにファイルが保留中の場合はできません--intent-to-add。ただし、スタッシュする必要がある場合は、新しいファイルを追加してからスタッシュするだけです。または、エミュレーションの回避策を使用することもできます。

git update-index --add --cacheinfo \
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 new.txt

(ここではエイリアスを設定すると便利です)。

おすすめ記事