수색…


통사론

  • git config [<file-option>] name [value] # git config의 일반적인 사용 사례 중 하나

매개 변수

매개 변수 세부
--system 모든 사용자에게 사용되는 시스템 전체의 구성 파일을 편집합니다 (Linux의 경우이 파일은 $(prefix)/etc/gitconfig )
--global 작업하는 모든 저장소에 사용되는 전역 구성 파일을 편집합니다 (Linux의 경우이 파일은 ~/.gitconfig
--local 리포지토리의 .git/config 에있는 리포지토리 별 구성 파일을 편집합니다. 이것이 기본 설정입니다.

사용자 이름 및 전자 메일 주소

Git을 설치 한 직후 가장 먼저해야 할 일은 사용자 이름과 이메일 주소를 설정하는 것입니다. 셸에서 다음을 입력하십시오.

git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
  • git config 은 옵션을 가져 오거나 설정하는 명령입니다.
  • --global 은 사용자 계정과 관련된 구성 파일이 편집됨을 의미합니다.
  • user.nameuser.email 은 구성 변수의 키입니다. user 는 구성 파일의 섹션입니다. nameemail 은 변수의 이름입니다.
  • "Mr. Bean"[email protected] 은 두 변수에 저장하는 값입니다. 저장하고있는 값에 공백이 있기 때문에 필요한 "Mr. Bean" 주위의 따옴표에 유의하십시오.

다중 자식 설정

git 설정을 위해 최대 5 개의 소스가 있습니다.

  • 6 파일 :
    • %ALLUSERSPROFILE%\Git\Config (Windows에만 해당)
    • (시스템) <git>/etc/gitconfig , <git> 은 자식 설치 경로입니다.
      (Windows에서는 <git>\mingw64\etc\gitconfig )
    • (시스템) $XDG_CONFIG_HOME/git/config (Linux / Mac 전용)
    • (전역) ~/.gitconfig (Windows : %USERPROFILE%\.gitconfig )
    • (local) .git/config (git repo $GIT_DIR 내에서)
    • 예를 들어 서브 모듈의 설정을 수정하는 데 사용되는 전용 파일 ( git config -f ) : git config -f .gitmodules ...
  • 명령 행 git -c : git -c core.autocrlf=false fetch 다른 오버라이드 (override) 할 core.autocrlffalse 단지에 대한 fetch 명령.

순서는 중요합니다. 하나의 소스에있는 모든 설정은 그 아래에 나열된 소스에 의해 무시 될 수 있습니다.

git config --system/global/local 은 그 소스 중 3 개를 나열하는 명령이지만 git config -l만이 모든 확인 된 구성을 나열 합니다 .
"해결 됨"은 최종 재정의 된 구성 값만 나열 함을 의미합니다.

git 2.8 이후로 어떤 설정이 어떤 파일에서 오는 것인지보고 싶다면 다음을 입력하십시오 :

git config --list --show-origin

사용할 편집기 설정

커밋, 리베이스 (rebase) 등에 사용할 편집기를 설정하는 방법은 여러 가지가 있습니다.

  • core.editor 구성 설정을 변경하십시오.

    $ git config --global core.editor nano
    
  • GIT_EDITOR 환경 변수를 설정하십시오.

    한 명령의 경우 :

    $ GIT_EDITOR=nano git commit
    

    또는 터미널에서 실행되는 모든 명령에 대해. 참고 : 이것은 터미널을 닫을 때까지만 적용됩니다.

    $ export GIT_EDITOR=nano
    
  • Git뿐만 아니라 모든 터미널 프로그램의 편집기를 변경하려면 VISUAL 또는 EDITOR 환경 변수를 설정하십시오. 자세한 내용은 VISUAL vs EDITOR 참조하십시오.

    $ export EDITOR=nano
    

    참고 : 위와 같이 이것은 현재 터미널에만 적용됩니다. 쉘은 대개 영구적으로 설정할 수 있도록 구성 파일을 갖습니다. (예를 들어, bash 에서는 ~/.bashrc~/.bash_profile 위의 행을 추가하십시오.)

일부 텍스트 편집기 (주로 GUI 개체)는 한 번에 하나의 인스턴스 만 실행하며, 이미 인스턴스가 열려 있으면 일반적으로 종료됩니다. 텍스트 에디터의 경우, Git은 Aborting commit due to empty commit message. 메시지를 출력합니다 Aborting commit due to empty commit message. 먼저 커밋 메시지를 편집 할 필요가 없습니다. 이 문제가 발생하면 텍스트 편집기의 설명서를 참조하여 문서가 닫힐 때까지 일시 중지 할 수있는 --wait 플래그 (또는 이와 유사한 플래그)가 있는지 확인하십시오.

줄 끝 구성

기술

프로젝트 전반에서 다른 운영 체제 (OS)를 사용하는 팀과 함께 작업 할 때 라인 엔딩을 처리 할 때 문제가 발생할 수 있습니다.

Microsoft Windows

Microsoft Windows 운영 체제에서 작업하는 경우 줄 끝은 일반적으로 캐리지 리턴 + 줄 바꿈 (CR + LF) 형식입니다. Linux 나 OSX와 같은 유닉스 머신을 사용하여 편집 한 파일을 열면 문제가 생겨 텍스트에 줄 바꿈이 전혀없는 것처럼 보일 수 있습니다. 이것은 유닉스 시스템이 양식 라인 피드 (LF)의 다른 라인 - 엔딩 만 적용한다는 사실 때문입니다.

이 문제를 해결하려면 다음 지침을 따르십시오.

git config --global core.autocrlf=true

체크 아웃시 ,이 명령은 라인 종료가 Microsoft Windows OS (LF -> CR + LF)에 따라 구성되도록합니다.

유닉스 기반 (Linux / OSX)

마찬가지로 Unix 기반 OS의 사용자가 Microsoft Windows OS에서 편집 한 파일을 읽으려고 할 때 문제가 발생할 수 있습니다. 예상치 못한 문제가 발생하지 않도록하기 위해

git config --global core.autocrlf=input

커밋 하면 CR + LF -> + LF의 줄 끝이 변경됩니다.

하나의 명령에 대해서만 구성

-c <name>=<value> 를 사용하여 하나의 명령에 대해서만 구성을 추가 할 수 있습니다.

.gitconfig에서 설정을 변경하지 않고 다른 사용자로 커밋하려면 다음을 수행하십시오.

git -c user.email = mail@example commit -m "some message"

참고 :이 예에서는 user.nameuser.email 을 정확하게 지정할 필요가 없으므로 git은 이전 커밋에서 누락 된 정보를 완료합니다.

프록시 설정

프록시를 사용하고 있다면 git에게 프록시에 대해 알려줘야한다.

git config --global http.proxy http://my.proxy.com:portnumber

더 이상 프록시가 아닌 경우 :

git config --global --unset http.proxy

자동 올바른 오타

git config --global help.autocorrect 17

이것은 git에서 자동 교정을 가능하게하고 사소한 실수 ( git status 대신 git stats 를 용서합니다. help.autocorrect 제공하는 매개 변수는 자동 수정 된 명령을 자동으로 적용하기 전에 시스템이 대기해야하는 시간을 1/10 초 단위로 결정합니다. 위의 명령에서 17은 자동 수정 명령을 적용하기 전에 1.7 초 기다려야 함을 의미합니다.

그러나 더 큰 실수는 누락 된 명령으로 간주되므로 git testingit 과 같이 입력하면 testingit is not a git command.

현재 구성 나열 및 편집

망할 놈의 config를 사용하면 어떻게 자식 망할 일을 사용자 정의 할 수 있습니다. 그것은 일반적으로 이름과 이메일 또는 좋아하는 편집기 또는 병합을 수행하는 방법을 설정하는 데 사용됩니다.

현재 구성을 확인합니다.

$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...

구성을 편집하려면 다음을 수행하십시오.

$ git config <key> <value>    
$ git config core.ignorecase true

모든 리포지토리에 변경 사항을 적용하려면 --global 사용하십시오.

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi

변경 사항을 보려면 다시 나열 할 수 있습니다.

여러 사용자 이름 및 이메일 주소

Git 2.13부터 폴더 필터를 사용하여 여러 사용자 이름과 이메일 주소를 구성 할 수있었습니다.

Windows 예제 :

.gitconfig

편집 : git config --global -e

더하다:

[includeIf "gitdir:D:/work"]
  path = .gitconfig-work.config    

[includeIf "gitdir:D:/opensource/"]
  path = .gitconfig-opensource.config
노트
  • 주문은 "wins"와 일치하는 마지막 사람에 의존합니다.
  • 마지막에 / 가 필요합니다 - 예 : "gitdir:D:/work" 는 작동하지 않습니다.
  • gitdir: 접두사가 필요합니다.

.gitconfig-work.config

.gitconfig 와 같은 디렉토리에 있습니다.

[user]
  name = Money
  email = [email protected]

.gitconfig-opensource.config

.gitconfig 와 같은 디렉토리에 있습니다.

[user]
  name = Nice
  email = [email protected]

Linux 용 예제

[includeIf "gitdir:~/work/"]
  path = .gitconfig-work
[includeIf "gitdir:~/opensource/"]
  path = .gitconfig-opensource

섹션 아래에있는 파일 내용과 메모.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow