수색…
통사론
- 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.name
및user.email
은 구성 변수의 키입니다.user
는 구성 파일의 섹션입니다.name
과email
은 변수의 이름입니다. -
"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.autocrlf
에false
단지에 대한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
vsEDITOR
참조하십시오.$ 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.name
과 user.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
섹션 아래에있는 파일 내용과 메모.