programing

.gitconfig에 파일을 포함할 수 있습니까?

muds 2023. 6. 30. 22:37
반응형

.gitconfig에 파일을 포함할 수 있습니까?

.gitconfig에 내 github 설정이 있는 파일을 포함하고 싶습니다. 이것이 가능합니까?

다음과 같은 작업을 수행할 수 있습니까?

[core]
    include = /path/to/file

Git(1.7.10+)는 이제 다음에서 이 구문을 지원합니다..gitconfig:

[include]
    path = /path/to/file

Git 변경 및 가장자리 케이스에 대한 자세한 설명은 여기를 참조하십시오.

그건 그렇고, 몇 가지 지적할 가치가 있는 미묘함은 다음과 같습니다.

  1. 환경 확장 환경변수예확장예,(장)$HOME않습니다. (: (으)로 표시)~Git 1.7.10.2에 나타남)

  2. 는 .의 . [include]진술.이 기능은 체인으로 연결된 다음을 포함하여 올바르게 작동합니다. 예:~/.gitconfig가질 수 있는 것:

    [include]
        path = subdir/gitconfig
    

    그리고.subdir/gitconfig가질 수 있는 것:

    [include]
        path = nested_subdir/gitconfig
    

    그것이 원인이 될 것입니다.subdir/nested_subdir/gitconfig적재해야 합니다.

  3. git가 대상 파일을 찾을 수 없으면 자동으로 오류를 무시합니다.이것은 의도적인 것으로 보입니다.

2012 업데이트:

Mike Morearty의 답변 보기:

포함한다

포함할 파일의 이름에 특수 변수를 설정하여 다른 구성 파일을 포함할 수 있습니다.
포함된 파일은 포함 지시어 위치에서 내용이 발견된 것처럼 즉시 확장됩니다.
의 값이 이의 include.path변수는 상대 경로이며, 경로는 포함 지시어가 발견된 구성 파일에 상대적인 것으로 간주됩니다.
include.path확장의 을 받습니다.~/는 의가로 ▁of의 됩니다.$HOME,그리고.~user/지정된 사용자의 홈 디렉토리로 이동합니다.


저는 그렇게 생각하지 않습니다.

차라리 그 설정을 파일에 넣겠습니다.

사용자별 구성 파일입니다."글로벌" 구성 파일이라고도 합니다.

이렇게 하면 GitHub에 푸시할 때 게시되지 않고 .gitconfig 프로젝트별 파일을 완료합니다.글로벌 구성 파일에 대한 자세한 내용은 이 SO 답변을 참조하십시오.
Git에는 3개의 구성 파일이 있습니다.


bjeanes는 댓글에 다음과 같이 추가합니다.

모두가 이 질문의 요점을 놓친 것 같습니다.
David은 분명히 그의 모든 점 파일의 레포를 올리고 싶어합니다.bashrc,gemrc ① ② ③ ③ ④ ③ ④ ④ ③ ④ ④ ②.gitconfig그의 모든 기계에 모든 설정을 할 수 있도록 말입니다
일부를 누르는 .gitconfig비공개 항목을 포함하고 무시함으로써 파일을 작성하는 것이 그(그리고 그 점에 있어서는 나)가 추구하는 것입니다.

가능한 방법은 스머지/클린 필터 드라이버를 사용하여 개인적으로 중요한 정보가 포함된 파일 하나를 암호화/암호화하는 것입니다(이 스레드 참조). 파일과 관련된 암호화된 부분이 포함된 ~/.gitconfig와 같은 로컬 파일을 완료하는 것입니다.

그렇게 하면 모든 도트 파일이 포함된 Gitrepo와 암호화된 정보가 포함된 하나의 파일을 암호 해독하여 해당 도트 파일에 추가할 수 있습니다.

alt text

.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 불편 사항은 이 스레드에서 더 자세히 설명됨) (이것은 여기서 논의된 것처럼 완전한 암호화된 Gitrepo를 갖는 것과는 다릅니다)

명령줄에서 로드할 수 있습니다.

$ git config --local include.path "/path/to/.gitconfig"

사용하다"$PWD"/.gitconfig파일을 현재 디렉터리에서 로드하려는 경우.

위의 명령을 실행한 후 다음 행이 추가됩니다..git/config파일:

[include]
        path = /path/to/.gitconfig

저는 당신이 이 일을 디펑크의 허브 툴을 사용해서 할 수 있다고 믿습니다.이것은 무엇보다도 당신이 가질 수 있도록 해주는 git 명령의 포장지입니다.GITHUB_USER그리고.GITHUB_TOKEN환경 변수그러면 로컬 설정이 무시됩니다..gitconfigjava.

그런다앨싱된사용를자매만끄들위기해게럽음리어▁then▁you위해그기들만▁the▁seamless▁make▁to▁user런.alias git=hub그의 ZSH 구성에서.그런 다음 환경 변수를 설정하고 모든 개인 정보를 그대로 사용하여 리포지토리를 공개 세계로 밀어넣는 로컬 파일을 원본으로 만들 수 있습니다.

참고 은 **OSX에서 할 수 brew install hub.

언급URL : https://stackoverflow.com/questions/1557183/is-it-possible-to-include-a-file-in-your-gitconfig

반응형