글로벌 힘내 무시


841

특정 파일을 전역 적으로 무시하도록 Git을 설정하고 싶습니다.

내가 추가 한 .gitignore나의 홈 디렉토리 (에 파일을 /Users/me/)하고 난 다음 줄을 추가했습니다 :

*.tmproj

그러나이 유형의 파일을 무시하지는 않습니다. 내가 잘못하고있는 아이디어가 있습니까?


7
GitHub의 무시 제안을 확인하고 싶을 수도 있습니다 . help.github.com/articles/ignoring-files ; 그들은 일반적인 무시 패턴 의 저장소 를 가지고 있습니다
drzaus

6
개별 프로젝트 내에서 .gitignore를 사용하는 것이 좋습니다. 그렇지 않으면 새 시스템에서 프로젝트를 복제하는 경우 매번 전역 제외 파일 및 구성을 다시 작성해야합니다.
Stan Kurdziel

25
프로젝트가 생성하는 무시할 수없는 파일은 프로젝트 .gitignore 파일에 있어야하고 컴퓨터의 물건이 생성하는 무시할 수있는 파일은 전역 .gitignore (편집기 / IDE 임시 파일 등)에 있어야합니다.
Pylinux

2
파이썬 가상 환경 디렉토리는 전역 또는 로컬 제외 파일의 항목에 대한 일반적인 사용 사례입니다.
Steed

10
@Pylinux 실제로 git-scm 마다 개인 IDE 및 워크 플로우 특정 항목 .git/info/exclude은 저장소 의 추적되지 않은 파일로 이동할 수 있으므로 반드시 전역 파일로 갈 필요는 없습니다. 또한 기본 및 자동 전역 gitignore 파일은 $HOME/.config/git/ignore입니다.
Acumenus

답변:


1421

core.excludesfile이 전역 무시 파일을 가리 키도록 전역 구성 파일 을 설정해야 합니다.

예 :

* nix 또는 Windows git bash :

git config --global core.excludesfile '~/.gitignore'

Windows cmd :

git config --global core.excludesfile "%USERPROFILE%\.gitignore"

Windows PowerShell :

git config --global core.excludesfile "$Env:USERPROFILE\.gitignore"

Windows의 경우 위치로 설정됩니다 C:\Users\{myusername}\.gitignore. 다음을 수행하여 구성 값이 올바른지 확인할 수 있습니다.

git config --global core.excludesfile

결과는 사용자 프로필의 확장 경로 여야합니다 .gitignore. 값에 확장되지 않은 %USERPROFILE%문자열이 포함되어 있지 않은지 확인하십시오 .

중요 : 위의 명령은 git에서 사용할 무시 파일의 위치 만 설정합니다. 파일은 여전히 ​​해당 위치에서 수동으로 작성되어 무시 목록으로 채워 져야합니다. ( muruge 의 의견에서)

https://help.github.com/articles/ignoring-files/#create-a-global-gitignore 에서 명령에 대해 읽을 수 있습니다.


2
그래서 그것이 당신에없는 것처럼 HEAD또는 인덱스는 파일이 한 번 추적 여부를 여부 어떤 차이가 안된다. 당신의 출력을 추가하면 도움이 될 수 있습니다 git status, git config core.excludesfile귀하의 질문에.
CB Bailey

2
#내부 행의 시작 부분 ~/.gitignore에서 전역 무시 파일 내에 주석을 추가 할 수 있습니까 ?
Dror

9
공식 Git Windows 툴킷의 최신 버전은 * nix 구문을 대신 사용합니다. 이 라인이 작동하지 않으면 * nix를 사용해보십시오.
Andy Jones

9
%USERPROFILE%변수를 사용 하여이 작업을 수행 할 수 없었습니다 . * nix 디렉토리 구분 기호를 사용하여 파일의 전체 경로를 입력해야했습니다. 예 : core.excludesfile C : /Users/User/.gitignore
Vince

21
% USERPROFILE % 변수로 작동하지 못했습니다. Windows에서 git config --global core.excludesfile '~ / .gitignore'를 사용하여 C : / users / {myusername} /. gitignore 위치로 설정해야했습니다. 또한 위의 명령은 git이 사용할 무시 파일의 위치 만 설정합니다. 파일은 여전히 ​​해당 위치에서 수동으로 작성되어 무시 목록으로 채워 져야합니다.
muruge

301

글로벌 제외 파일을 재구성하기 전에 다음 명령을 사용하여 현재 구성된 파일을 점검 할 수 있습니다.

git config --get core.excludesfile

제 경우에는 전역 제외 파일이 다음과 같이 구성되어있는 것을 보았습니다.

~ / .gitignore_global
거기에 이미 몇 가지가 나열되어 있습니다. 따라서 주어진 질문의 경우 먼저 기존 제외 파일을 확인하고 새 파일 마스크를 추가하는 것이 좋습니다.


2
이것은 잘 작동합니다. 평소처럼 gitignore 파일을 설정하십시오. 한 줄에 한 항목.
Maarten Hartman

237

다른 답변은 정확하지만 전역 구성 값을 설정하는 반면 전역 git ignore 파일의 기본 git 위치가 있습니다.

*아니야:

~/.config/git/ignore

윈도우 :

%USERPROFILE%\git\ignore

git디렉토리와 ignore파일 을 만들어야 할 수도 있지만 전역 무시를 해당 파일에 넣을 수 있습니다.

출처

패턴을 배치 할 파일은 패턴의 사용 방법에 따라 다릅니다.

  • 사용자가 모든 상황에서 Git이 무시하도록하려는 패턴 (예 : 사용자가 선택한 편집기에서 생성 한 백업 또는 임시 파일)은 일반적으로 core.excludesFile사용자의에 지정된 파일로 이동합니다 ~/.gitconfig. 기본값은 $ XDG_CONFIG_HOME / git / ignore입니다. $ XDG_CONFIG_HOME이 설정되거나 비어 있지 않으면 $ HOME / .config / git / ignore가 대신 사용됩니다.

1
이것은 위대하다. 나는 이것에 대해 몰랐지만 ...이 파일은 생성되지 않습니까? 업데이트 / 재설치시 덮어 쓸 수 있습니까?
danielsdesk

1
특정 git명령 을 실행하여 파일을 생성 / 수정했다고 생각 합니다. 각 사용자의 디렉토리에있는 설정 파일이기 때문에 덮어 써야한다고 생각하지 않습니다.
Steve Jorgensen

1
이 답변을 받아 들여야하는데 동의하지만 -t̶h̶e̶ ̶d̶o̶c̶u̶m̶e̶n̶t̶a̶t̶i̶o̶n̶ 도움말 기사 ( help.github.com/articles/ignoring-files )
AVProgrammer

1
@AVProgrammer 방금 소스 문서 구성 방법의 변경 사항을 반영하기 위해 답변을 편집했습니다.
Steve Jorgensen

7
Windows에서도 경로가 보입니다 ~/.config/git/ignore.
suriv

40

전역 gitignore를 처음부터 만들려면 :

$ cd ~
$ touch .gitignore_global
$ git config --global core.excludesfile ~/.gitignore_global
  1. 첫 번째 줄은 디렉토리를 C:/Users/User
  2. 그런 다음 .gitignore_global확장명을 가진 빈 파일을 만듭니다.
  3. 마지막으로 전역을 무시하면 해당 파일이 무시됩니다.
  4. 그런 다음 메모장으로 열어서 필요한 무시 규칙을 추가하십시오.

18

에서 여기 .

repo에 .gitignore라는 파일을 만들면 git은 커밋 할 파일을 볼 때 해당 규칙을 사용합니다. git은 규칙을이 파일에 추가하기 전에 이미 추적 한 파일을 무시하지 않습니다. 이 경우 일반적으로 다음을 사용하여 파일을 추적 해제해야합니다.

git rm --cached filename

당신의 경우입니까?


일어나지 않는 전 세계를 무시하려고 노력하고 있습니다 !!
Mild Fuzz

Linux에서 @MildFuzz core.excludesfile파일은 파일과 다르게 해석되는 것 같습니다 .gitignore. 전체 디렉토리를 무시하려면.vscode/.vscode/*
갈망 데브

11

유닉스 시스템을 사용한다면, 두 가지 명령으로 문제를 해결할 수 있습니다. 첫 번째 초기화 구성 및 두 번째는 무시할 파일로 파일을 변경합니다.

$ git config --global core.excludesfile ~/.gitignore
$ echo '.idea' >> ~/.gitignore

10
  1. 홈 디렉토리에 .gitignore 파일 작성
touch ~/.gitignore
  1. 폴더에 파일을 추가하십시오 ( 폴더가 인식되지 않습니다 ).

# these work
*.gz
*.tmproj
*.7z

# these won't as they are folders
.vscode/
build/

# but you can do this
.vscode/*
build/*
  1. git에 이미 전역 gitignore가 있는지 확인하십시오
git config --get core.excludesfile
  1. 파일이 어디에 있는지 자식에게 알려주십시오.
git config --global core.excludesfile '~/.gitignore'

짜잔 !!


"폴더가 인식되지 않습니다"-잘못되었습니다. 폴더가 제대로 작동합니다 ...
TobiX

7

명령을 실행하는 것을 기억하십시오

git config --global core.excludesfile '~/.gitignore'

전역 파일을 설정하지만 만들지는 않습니다. Windows의 경우 사용자 디렉토리에서 .gitconfig파일 을 확인하고 원하는대로 편집하십시오. 제 경우에는 다음과 같습니다.

[core]
  excludesfile = c:/Users/myuser/Dropbox/Apps/Git/.gitignore

3

또는 내 파일 .tmproj에 포함 시켜 파일 을 무시할 수 있습니다. .tmproj*.tmproj/users/me/.gitignore-global

파일 이름은이 .gitignore-global아닙니다 .gitignore. 그것은 포함하여 작동하지 않았다 .tmproj또는 *.tmproj라는 파일에 .gitignore에서 /users/me디렉토리.


4
core.excludesfile구성 과 일치하는 한 전역 무시 파일이라고 부르는 것은 중요하지 않습니다 .
CB Bailey

아! 좋은 점 @CharlesBailey. 그러나 이것은 작가가 확인하고 싶을 수도 있습니다. 이유 .tmproj사용자가 있기 때문에 파일을 무시 점점되지는 할 수 excludesfile없습니다입니다 .gitignore.
스리 산 카란

그는 사용자가 충분히 똑똑 할 것이라고 생각한 것 같습니다.
WORMSS

2

이를 위해 제외 파일을 작성해야합니다. 이 요점을 확인하십시오꽤 자명 을 .

당신이 중 하나를 드 인덱스에해야 할 수도 있습니다,하지만 질문을 해결하기 위해 .tmproj(이미 인덱스에 추가 한 경우) 파일로 git rm --cached path/to/.tmproj, 또는 git add하고 commit당신의 .gitignore파일을.


나는 레포 당이 아니라 전 세계적으로 이것을 시도하고있다
Mild Fuzz

그래, 그것이 요점에서 내가 연결 한 것입니다. 나는 원래 질문에 약간 혼란 스러웠다. 당신은 했습니까 git rm --cached?
Nic

그래, 해봤 어 나는 모든 권장 조언을 따랐습니다. 내가 무엇을 놓치고 있습니까?
Mild Fuzz

제안한대로 git status를 추가하고 질문에 대한 정보를 제외합니다 :)
Nic

2

리눅스의 Windows 하위 시스템에서 cd ~/그때 까지 하위 시스템 루트로 이동해야했습니다.touch .gitignore 전역 gitignore 구성을 업데이트해야했습니다.

누군가에게 도움이되기를 바랍니다.


0

VSCODE를 사용하는 경우이 확장 프로그램이 작업을 처리하도록 할 수 있습니다. 그것은 당신의 작업 공간은 작업을 저장할 때마다 시계와 자동으로 당신이 당신의 vscode settings.json에 지정된 파일과 폴더를 무시하는 데 도움이 ignoreit (vscode 확장)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.