3

環境変数に依存する .gitignore ルールに追加することは可能ですか?

例えば

if -e $(ENV_VAR) "AAA"
!liba.so
else
liba.so

基本的に私が望むのはif ENV_VAR = "AAA"、ローカルリポジトリにあるようなリポジトリを持つことa.txtであり、設定されていない場合ENV_VARは a.txt が削除されます。

4

3 に答える 3

3

答えはノーだ。

Gitiggnore のルールは完全に静的です。さらに、それは意味がありません。ファイルがリポジトリにあると、gitignore は適用されなくなります。新しいファイルが追加されるのを防ぐだけです。

そうは言っても、ローカルの「gitignore」を使用すること.git/info/excludeもできます: の内容も無視されます。今説明した範囲内です。

于 2013-07-14T17:35:02.463 に答える
3

現在、答えは「はい」ではありませんが、環境変数を使用していません。

私の使用例は単純です。コードをローカルで実行できるように、特定のファイルに加えた変更を誤ってチェックインしないようにしたいと考えています。

コードをローカルで実行できるようにファイルに超秘密のパスワードを追加するとし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の質問を数回読み直した後、これが彼の求めていることを実行するかどうかわかりません。

于 2014-09-06T21:42:52.173 に答える