5

Git リポジトリがどこにあるかを Git に伝えることができます--git-dir。作業ツリーの場所を Git に伝えることができます--work-tree。gitignore ファイルの場所を Git に伝えるにはどうすればよいですか?

Q. なぜそのようなことをしたいのですか?

A. 一部の作業ツリーでは、2 つの異なる Git リポジトリを使用しています。1 つは の標準的な場所にあり.gitます。このリポジトリは、通常のバージョン管理に使用します。他のリポジトリは にあり.git.syncます。このリポジトリは、コンピューター間の定期的な自動同期に使用します。つまり、Git と定期的に実行される小さなスクリプトで実装された、私自身の小さな Dropbox クローンです。

理想的には、通常のバージョン管理に使用するものとまったく同じものを Git に使用させるのではなく.gitignore.sync、リポジトリに使用するように Git に指示できるようにします。.git.sync.gitignore

Q. Dropbox だけを使用しないのはなぜですか?

A. シンボリック リンクを同期しません。悪いドロップボックス!

4

3 に答える 3

4

を使用core.excludesfileして、新しい無視ファイルを指定できます。デフォルトでは、これは現在のリポジトリにのみ影響します。--globalデフォルト値を変更する場合は、このオプションを使用できます。

git config core.excludesfile ".new_gitignore"

編集 1

私の知る限り、無効.gitignoreにすることはできません。そして、 と よりも優先されます。私が考えることができる唯一の方法は、フィルターを使用してハックすることです。この回答は、フィルターの使用をよく説明しています。.git/info/excludescore.excludesfile

于 2013-03-21T01:29:15.303 に答える
1

各リポジトリにはファイルがあります -とinfo/excludeに 1 つずつあるはずです。これらの除外ファイルに、通常どおりに入力します。.git/info/exclude.git.sync/info/exclude.gitignore

于 2013-03-21T01:29:30.583 に答える
1

「.gitignore」は、ほとんどのコマンドでgitのディレクトリごとの除外ファイルとしてハードコーディングされているようで、他のすべての無視ファイルよりも優先されます。

ただし、この制限を克服するために Git 用の小さなパッチを作成しました: https://gist.github.com/rev22/9954517

次の構成オプションが追加されます。

core.ignoreperdir : ディレクトリごとの除外ファイルとして「.gitignore」の代替を指定します。これが設定されていない場合、デフォルトの「.gitignore」が使用されます。これが空の場合、ディレクトリごとの除外ファイルは使用されません。

于 2014-04-03T13:48:16.890 に答える