2012 업데이트 :
참조 마이크 Morearty 의 대답 :
포함
특수 include.path
변수를 포함 할 파일 이름 으로 설정하여 하나의 구성 파일을 다른 구성 파일에 포함시킬 수 있습니다.
포함 된 파일은 내용이 include 지시문의 위치에있는 것처럼 즉시 확장됩니다. 변수
값이 include.path
상대 경로 인 경우 경로는 include 지시문이 발견 된 구성 파일에 상대적인 것으로 간주됩니다.
의 값은 include.path
틸드 확장의 영향을받습니다. ~/
는의 값 $HOME
과 ~user/
지정된 사용자의 홈 디렉토리로 확장됩니다.
난 그렇게 생각하지 않아.
차라리 그 설정을 파일 에 넣을 것입니다~/.gitconfig
사용자 별 구성 파일 "글로벌"구성 파일이라고도합니다.
그렇게하면 GitHub로 푸시 될 때 게시되지 않고 .gitconfig 프로젝트 특정 파일을 완성합니다. 전역 설정 파일에 대한 자세한 내용은이 SO 답변 을 참조하십시오.
힘내 3 구성 파일이 있습니다 .
bjeanes 는 주석에 다음을 추가합니다.
모든 사람이이 질문의 요점을 놓친 것 같습니다.
다윗은 분명히 그의 모든 점 파일의 repo (밀어 싶어 bashrc
, gemrc
자신의 포함 등) .gitconfig
자신의 모든 기계에 그래서 그는 모두를 가질 수 있습니다 자신의 설정을. 개인 항목을 포함하고 무시
하여 .gitconfig
파일의 일부를 푸시하는 방법 은 그 (그리고 그 문제의 경우)가 따르는 것입니다.
가능한 방법은 smudge / clean 필터 드라이버 를 사용하여 개인 정보를 가진 하나의 파일을 해독 / 암호화 ( 이 스레드 참조 )하여 ~ / .gitconfig와 같은 로컬 파일을 해독 된 부분으로 완성하는 것입니다. 파일.
이렇게하면 모든 도트 파일과 암호화 된 정보가 포함 된 하나의 파일을 해독하여 해당 도트 파일에 추가 할 수 있습니다.
에서 .gitattributes
(나 .git/info/a..
) 사용 :
myPrivateInfosFile filter=gpg diff=gpg
repo .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 저장소를 갖는 것과는 다릅니다 )