Git で非常に便利なコマンドの 1 つは、git add -u
追跡されていないファイル以外のすべてをインデックスに投入することです。その逆はありますか?
追跡されていないファイルのみを個別に識別せずにインデックスに追加する方法など?
で簡単git add -i
です。(「追跡a
されていないものを追加」の場合)、次に*
(「すべて」の場合)、次にq
(終了する)と入力すると、完了です。
単一のコマンドでそれを行うには:echo -e "a\n*\nq\n"|git add -i
git ls-files -o --exclude-standard
追跡されていないファイルを提供するので、以下のようなことを行うことができます(またはそれにエイリアスを追加します):
git add $(git ls-files -o --exclude-standard)
あなたが探しているものとは正確には異なりますが、私はこれが非常に役立つことを発見しました:
git add -AN
すべてのファイルをインデックスに追加しますが、コンテンツは除きます。追跡されていないファイルは、追跡されているかのように動作するようになりました。それらのコンテンツは に表示されgit diff
、 でインタラクティブに追加できますgit add -p
。
これを ~/.gitconfig ファイルに追加できます:
[alias]
add-untracked = !"git status --porcelain | awk '/\\?\\?/{ print $2 }' | xargs git add"
次に、コマンドラインから次を実行します。
git add-untracked
git add . (このディレクトリにすべてのファイルを追加します)
git add -all (すべてのディレクトリにすべてのファイルを追加)
git add -N は、後で使用するものをリストするのに役立ちます....
追跡されていないすべてのファイルを追加するには、gitコマンドは
git add -A
また、利用可能なさまざまなオプションの詳細を取得したい場合は、コマンドを入力できます
git add -i
最初のコマンドの代わりに、これを使用すると、以下に示すように、追跡されていないすべてのファイルを追加するオプションを含む、より多くのオプションが表示されます。
$ git add -i 警告: LF は README.txt の CRLF に置き換えられます。ファイルは、作業ディレクトリに元の行末を持ちます。警告: LF は package.json で CRLF に置き換えられます。
* コマンド * 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help now> a