[解決済み】gitに個々の行を無視するように指示する方法、つまり特定のコード行をgitignoreする方法【重複
2022-04-12 20:28:16
質問
.gitignore
はファイル全体を無視することができますが、コーディング中に特定のコード行を無視する方法はありますか?
私はプロジェクトに同じデバッグ行を頻繁に繰り返し追加し、コミットする前に削除するのを忘れないようにしなければなりません。その行をコードに残したまま、gitに無視させたいと思っています。
解決方法は?
でなんとなくできる方法です。 gitフィルター :
-
gitattributesファイルを作成/オープンします。
-
<project root>/.gitattributes
(レポにコミットされます)
または -
<project root>/.git/info/attributes
(レポにコミットされません)
-
-
フィルタリングするファイルを定義する行を追加します。
-
*.rb filter=gitignore
という名前のフィルタを実行する。gitignore
すべての*.rb
ファイル
-
-
を定義します。
gitignore
フィルタをgitconfig
:-
$ git config --global filter.gitignore.clean "sed '/#gitignore$/d'"
つまり、以下の行を削除してください。 -
$ git config --global filter.gitignore.smudge cat
つまり、レポからファイルを取得するときは何もしません。
-
注意事項
もちろん、これはルビーファイルの場合であり、行末が
#gitignore
でグローバルに適用されます。
~/.gitconfig
. あなたの目的に合わせて、これを変更してください。
警告!
この場合、作業ファイルはレポとは異なるものになります (もちろん)。チェックアウトやリベースを行うと、これらの行は失われてしまいます! チェックアウト、リベース、プルによってこれらの行は繰り返し失われるので、このトリックは無駄に思えるかもしれませんが、私はこれを利用するために特定のユースケースを持っています。
ただ
git stash save "proj1-debug"
フィルタが非アクティブの間
(で一時的に無効化すればよい)。
gitconfig
など)。こうすることで、私のデバッグコードは常に
git stash apply
これらの行が誤ってコミットされることを心配することなく、いつでも自分のコードに追加することができます。
この問題に対処するためのアイデアはあるのですが、実装はまた今度やってみようと思います。
Rudiとjw013がgit filtersとgitattributesについて言及してくれたことに感謝します。
関連
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] Git にファイルモード (chmod) の変更を無視させるには?
-
[解決済み] .gitignoreで一部のファイル以外を無視するようにする
-
[解決済み] Gitで落としたスタッシュを復元する方法とは?
-
[解決済み] Gitでファイルの変更を追跡しない、無視する方法とは?
-
[解決済み] ローカルにあるファイルを無視するようにgitを設定するにはどうすればよいですか?
-
[解決済み] git プロジェクト上の 'bin' ディレクトリを無視する
-
[解決済み] .gitignore で無視される特定のファイルを表示する 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 Push Error: リポジトリデータベースにオブジェクトを追加する権限が不足しています。
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] git commit signing failed: secret key not available.
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] Git作者不明