環境変数に依存する .gitignore ルールに追加することは可能ですか?
例えば
if -e $(ENV_VAR) "AAA"
!liba.so
else
liba.so
基本的に私が望むのはif ENV_VAR = "AAA"
、ローカルリポジトリにあるようなリポジトリを持つことa.txt
であり、設定されていない場合ENV_VAR
は a.txt が削除されます。
環境変数に依存する .gitignore ルールに追加することは可能ですか?
例えば
if -e $(ENV_VAR) "AAA"
!liba.so
else
liba.so
基本的に私が望むのはif ENV_VAR = "AAA"
、ローカルリポジトリにあるようなリポジトリを持つことa.txt
であり、設定されていない場合ENV_VAR
は a.txt が削除されます。
答えはノーだ。
Gitiggnore のルールは完全に静的です。さらに、それは意味がありません。ファイルがリポジトリにあると、gitignore は適用されなくなります。新しいファイルが追加されるのを防ぐだけです。
そうは言っても、ローカルの「gitignore」を使用すること.git/info/exclude
もできます: の内容も無視されます。今説明した範囲内です。
現在、答えは「はい」ではありませんが、環境変数を使用していません。
私の使用例は単純です。コードをローカルで実行できるように、特定のファイルに加えた変更を誤ってチェックインしないようにしたいと考えています。
コードをローカルで実行できるようにファイルに超秘密のパスワードを追加するとしsrc/assets/secrets.xml
ますが、パスワードを github に漏らしたくないので、このようなツールで見つけることができます。
export GITIGNORE=path/to/that/file
もともと、このような状況では の能力が役立つと思っていました。
しかし、それはオプションではないため、同じ目標を達成する方法を次に示します。
git update-index --assume-unchanged src/assets/secrets.xml
この効果を元に戻すには:
git update-index --no-assume-unchanged src/assets/secrets.xml
OPの質問を数回読み直した後、これが彼の求めていることを実行するかどうかわかりません。