7

git add*.hi ファイルを除くすべてのファイルを追加するために (または他のコマンド ライン ディレクティブ - .gitignore は使用できません) を使用するとします。これを行う方法はありますか?これまでのところ、私は試しました:

git add '!*.hi'

git add '!(*.hi)'

私が理解しているように、これはグロブ構文で否定を指定する方法であり、.gitignore でそれを行う方法でもあります。それでも、これらのコマンドの両方で、エラーが発生しますfatal: [pattern] did not match any files。参考までに、これらのコマンドは Windows Powershell から実行しています。

4

3 に答える 3

5

純粋な Git の方法は、それらをすべて追加してから、不要なファイルをインデックスから再度削除することです。

git add .
git rm --cached *.hi

--cachedインデックスからのみ削除する必要があります。そうしないと、それらのファイルを削除してしまいます。常にインデックスに「削除を追加」することに注意してください。そのgit rmため、ファイルが追跡されている場合、これはおそらく望ましくありません。次にgit reset、コメントで提案されたクラスメルボーンを使用する必要があります。

git add .
git reset -- *.hi
于 2013-04-12T17:05:16.957 に答える
2

PowerShell では、次のように動作します。

git add $(Get-ChildItem -Recurse -Exclude '*.hi')
于 2013-04-12T17:01:07.517 に答える