[解決済み] gitです。現在の未追跡ファイルをすべて無視するには?
2022-03-04 17:28:33
質問
git リポジトリの追跡されていないファイルやフォルダをすべて無視する便利な方法はありますか?
(私は
.gitignore
.)
そこで
git status
であれば、再びきれいな結果が得られます。
解決方法は?
すでに言われているように、ステータスから除外するには、次のようにすればよい。
git status -uno # must be "-uno" , not "-u no"
もし、現在追跡されていないファイルを永久に無視したい場合は、プロジェクトのルートから、起動することができます。
git status --porcelain | grep '^??' | cut -c4- >> .gitignore
を呼び出すたびに、その後に続く
git status
は、これらのファイルを明示的に無視します。
アップデイト
: 上記のコマンドには、ちょっとした欠点があります。
.gitignore
ファイルがない場合、gitignore はそれ自体を無視します。この現象は、ファイル
.gitignore
が作成される前に
git status --porcelain
が実行されます。ですから、もし
.gitignore
ファイルを使用することをお勧めします。
echo "$(git status --porcelain | grep '^??' | cut -c4-)" > .gitignore
これは、以下を完了するサブシェルを作成します。
以前
は
.gitignore
ファイルが作成されます。
コマンド説明 たくさんの投票をいただいているので(ありがとうございます!)、少しコマンドを説明したほうがいいと思います。
-
git status --porcelain
の代わりにgit status --short
なぜなら マニュアル は、"スクリプトのために簡単にパースできるフォーマットで出力を与えることを述べています。これは短い出力と似ていますが、gitのバージョンやユーザーの設定に関係なく安定したままです。 -
grep '^??'
で始まる行のみをフィルタリングします。??
によると、これは ギットステータスマニュアル 追跡されていないファイルに対応します。 -
cut -c4-
は、各行の最初の3文字を削除し、追跡されていないファイルへの相対パスだけを提供します。 -
は
|
記号は パイプ これは、前のコマンドの出力を次のコマンドの入力に渡すものです。 -
その
>>
と>
記号は リダイレクト演算子 は、それぞれ直前のコマンドの出力をファイルに追加したり、新しいファイルを上書き/作成したりするものです。
別バリアント
を好む人のために
を使って
sed
の代わりに
grep
と
cut
は、別の方法です。
git status --porcelain | sed -n -e 's/^?? //p' >> .gitignore
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] .gitignoreで一部のファイル以外を無視するようにする
-
[解決済み] ローカルにあるファイルを無視するようにgitを設定するにはどうすればよいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み】gitの「not something we can merge」エラーの解決方法
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] git でディレクトリ階層が異なる 2 つのブランチをマージするには?
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?