2012年更新:
Mike Moreartyの回答をご覧ください。
含む
特殊include.path
変数を含めるファイルの名前に設定することで、1つの構成ファイルを別の構成ファイルから組み込むことができます。
インクルードディレクティブの場所でそのコンテンツが見つかったかのように、インクルードファイルはすぐに展開されます。変数
の値がinclude.path
相対パスの場合、パスは、includeディレクティブが見つかった構成ファイルからの相対パスと見なされます。
値は、include.path
チルダ展開の対象となります~/
の値に展開さ$HOME
れ、~user/
指定したユーザのホームディレクトリに。
そうは思わない。
その設定をファイルに入れたい~/.gitconfig
ユーザー固有の構成ファイル。「グローバル」構成ファイルとも呼ばれます。
これにより、GitHubにプッシュされたときに公開されずに、.gitconfigプロジェクト固有のファイルが完成します。グローバル設定ファイルの詳細については、このSO回答も参照してください。
Gitには3つの構成ファイルがあります。
bjeanesがコメントに追加します:
誰もがこの質問の要点を逃したようです。
Davidは明らかbashrc
にgemrc
、自分の.gitconfig
すべての設定を自分のすべてのマシンで使用できるように、自分のドットファイル(、など)のすべてのドットファイルのリポジトリをプッシュしたいと考えています。プライベートエントリを含めたり無視したり
することで.gitconfig
ファイルの一部をプッシュする方法は、彼(そして私についても)が求めていることです。
可能な方法は、smudge / cleanフィルタードライバーを使用して、プライベートな機密情報(このスレッドを参照)で1つのファイルを復号化/暗号化し、〜/ .gitconfigのようなローカルファイルを、それに関連する復号化された部分で完成させることですファイル。
そうすれば、すべてのドットファイルを含むGitリポジトリに加えて、解読してドットファイルに追加するための暗号化された情報を含む1つのファイルを作成できます。
で.gitattributes
(または.git/info/a..
)使用:
myPrivateInfosFile filter=gpg diff=gpg
リポジトリの.configファイルで:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
(もちろん、GPGベースのソリューションとは、この特別なリポジトリを複製してすべてのドットファイルを復元する宛先コンピューターに、別の方法で秘密鍵/公開鍵を伝達したことを意味します)
実際には、あなたの場合、スマッジスクリプトは必要に応じて完了する必要があります。そのファイルを復号化した後、関連する部分をグローバル~/.gitconfig
ファイルに追加します(グローバル構成ファイルを別の場所で上書きしない限り)またはそのための他のドットファイル。案件。
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread(gpgの
不便さはこのスレッドでさらに説明されています)(これは、ここで説明されているように、完全に暗号化されたGitリポジトリを持つこととは異なります)