Gitで非常に役立つコマンドの1つは、 git add -u追跡されていないファイルを除くすべてをインデックスにスローすることです。それの逆はありますか?過去数か月の間に、インタラクティブにインデックスに更新を追加し、コミットする前にすべての追跡されていないファイルをそのインデックスに追加したいと思っていました。
追跡されていないファイルのみを個別に識別せずにインデックスに追加する方法はありますか?ヘルプドキュメントに明らかなものは何もありませんが、見当たらないのでしょうか。
ありがとう。
Gitで非常に役立つコマンドの1つは、 git add -u追跡されていないファイルを除くすべてをインデックスにスローすることです。それの逆はありますか?過去数か月の間に、インタラクティブにインデックスに更新を追加し、コミットする前にすべての追跡されていないファイルをそのインデックスに追加したいと思っていました。
追跡されていないファイルのみを個別に識別せずにインデックスに追加する方法はありますか?ヘルプドキュメントに明らかなものは何もありませんが、見当たらないのでしょうか。
ありがとう。
回答:
で簡単git add -iです。入力a(「人跡未踏の追加」のため)、そして*、その後、(「すべて」のために)q(終了する)と、あなたは完了です。
単一のコマンドでそれを行うには: echo -e "a\n*\nq\n"|git add -i
echo -e "a\n*\nq\n"|git add -i
Argument list too long...とても近い!
git add -i、その後すべてを終了することでした4*q
git ls-files -o --exclude-standard 追跡されていないファイルを与えるので、以下のようなことができます(またはそれにエイリアスを追加します):
git add $(git ls-files -o --exclude-standard)
-o, --others Show other (i.e. untracked) files in the output
これを〜/ .gitconfigファイルに追加できます:
[alias]
add-untracked = !"git status --porcelain | awk '/\\?\\?/{ print $2 }' | xargs git add"
次に、コマンドラインから次のコマンドを実行します。
git add-untracked
何千もの追跡されていないファイルがある場合(うわー、質問しないでください)、git add -iを追加しても機能しません*。次のエラーが表示されますArgument list too long。
次に、Windowsを使用していて(#2に質問しないでください:-)、すべての追跡されていないファイルを追加するためにPowerShellを使用する必要がある場合は、次のコマンドを使用できます。
git ls-files -o --exclude-standard | select | foreach { git add $_ }
git ls-files -o --exclude-standard | % { git add $_ }
ここには良いヒントがたくさんありますが、Powershell内では動作しませんでした。
私は.NET開発者であり、.Netコアとクロスプラットフォームをあまり使用していないため、主にWindows OSを使用しています。したがって、Gitでの日常の使用はWindows環境で行われ、使用されるシェルはPowershellであることが多いです。 Git bashではありません。
次の手順に従って、追跡されていないファイルをGitリポジトリに追加するためのエイリアス関数を作成できます。
Powershellの$ profileファイル内(欠落している場合-次を実行できます:New-Item $ Profile)
メモ帳$ Profile
次に、このPowershellメソッドを追加します。
function AddUntracked-Git() {
&git ls-files -o --exclude-standard | select | foreach { git add $_ }
}
$ profileファイルを保存して、Powershellに再読み込みします。次に$ profileファイルを次のようにリロードします。$ profile
これは、* nix環境のIMHOのsourceコマンドに似ています。
したがって、次回、Gitリポジトリに対してWindowsでPowershellを使用している開発者が、追跡されていないファイルのみを含めたい場合は、次のように実行できます。
AddUntracked-Git
これは、動詞-名詞があるPowershell規則に従います。
git add。(このディレクトリ内のすべてのファイルを追加)
git add -all (すべてのディレクトリのすべてのファイルを追加します)
git add -Nは、後で使用するものをリストするのに役立ちます。
git add -u追跡されていない変更済みファイルを追加します
すべての追跡されていないファイルを追加するには、gitコマンドは
git add -A
また、利用可能なさまざまなオプションの詳細を取得したい場合は、コマンドを入力できます
git add -i
最初のコマンドの代わりに、これを使用すると、以下に示すようにすべての追跡されていないファイルを追加するオプションを含む、より多くのオプションを取得できます。
$ git add -i警告:LFはREADME.txtでCRLFに置き換えられます。ファイルの元の行末は作業ディレクトリになります。警告:LFはpackage.jsonでCRLFに置き換えられます。
*コマンド* 1:ステータス2:更新3:復帰4:追跡されていない追加5:パッチ6:差分7:終了8:ヘルプ今すぐ>
.gitignore具体的には、その目的のために設計されていませんgit add -u。