シェルコマンドを使用して、gitの追跡されていないファイルから特定のファイルを削除したい。しかし、私が検索したように、のようなもののための解決策があります
-f - force,
-d - directories too,
-x - remove ignored files too.
このようなファイルをgitignore.gitignoreのように考えてみましょう。この問題のために、コマンドgit rm gitignore.gitignoreを試行したときはいつでも失敗しました。期待される結果をいただければ幸いです。
ファイルがgitによって追跡されていない場合、それを削除するのはgitの仕事ではありません。 git rm
ではなくrm
のような通常のシェルコマンドを使用するだけです。
all追跡されていないファイルを削除する場合は、git clean
を実行します。
git clean -df
-nが必要なだけかもしれませんが、最初に何をしているかを再確認するのに便利です。
NAME
git-clean - Remove untracked files from the working tree
OPTIONS
-d
Remove untracked directories in addition to untracked files. If an untracked directory is managed by a different Git repository, it is not removed by default. Use -f option twice if
you really want to remove such a directory.
-f, --force
If the Git configuration variable clean.requireForce is not set to false, git clean will refuse to delete files or directories unless given -f, -n or -i. Git will refuse to delete
directories with .git sub directory or file unless a second -f is given.
-n, --dry-run
Don't actually remove anything, just show what would be done.
ただし、コミットされていない変更がある場合は、git checkout -- .
を使用する必要があります。
作業ツリーにファイルがあり、それを削除したい場合は、git rm
を使用します
doc から直接
git-rm
-作業ツリーとインデックスからファイルを削除します
ここで、作業ツリーからファイルを削除するために、rm
ではなくgit rm
を使用する理由
答えは-rm
だけを使用する場合は、git add <fileRemoved>
でフォローアップする必要があります。 git rm
は、これを1つのステップで実行します。
Git rm --cachedを使用してファイルをインデックスから削除し(次のコミット時に削除するためにステージングする)、ローカルファイルシステムにコピーを保持することもできます。
この部分は https://stackoverflow.com/a/7434558 から取得されます
追跡されていないファイルを削除するには、ソースツリーに含まれている追跡されたファイルに
rm
を使用できます。git rm
を使用します。
次のように、フラグ-i
を使用してインタラクティブモードを使用できます。
git clean -id`
(d
はディレクトリの場合も同様です)a
を押してファイルとフォルダーを反復処理し、削除するものとしないものを選択できます。