svn과 같은 git에 대한 무시 명령이 있습니까?


125

저는의 신규 사용자 git이며 새로운 프로젝트를 시작하고 있습니다. 무시하고 싶은 도트 파일이 많이 있습니다. 에 대한 무시 명령 gitsvn있습니까?


1
gitignore의 좋은 대안 : git update-index --assume-unchanged <file> , 덕분에 stackoverflow.com/a/16442091/2162226
Gene Bo

답변:


136

특별한 git ignore명령 이 없습니다 .

.gitignore작업 복사본 내 적절한 위치에 있는 파일을 편집합니다 . 그런 다음 이것을 추가 .gitignore하고 커밋해야합니다. 해당 저장소를 복제하는 모든 사람은 해당 파일을 무시합니다.

로 시작하는 파일 이름 만 /디렉토리가있는 디렉토리 .gitignore에 상대적 입니다. 다른 모든 항목은 하위 디렉토리에있는 파일과 일치합니다.

.git/info/exclude하나의 작업 복사본에서만 특정 파일을 무시하도록 편집 할 수도 있습니다 . .git/info/exclude파일은 최선을 다하고되지 않으며, 따라서 오직이 하나의 작업 복사본에 로컬로 적용됩니다.

를 사용하여 무시할 패턴이있는 전역 파일을 설정할 수도 있습니다 git config --global core.excludesfile. 이것은 동일한 사용자 계정의 모든 git 작업 복사본에 로컬로 적용됩니다.

git help gitignore자세한 내용은 텍스트를 실행 하고 읽으십시오.


75
간단한 무시 명령을 사용하지 않는 것은 git 팀의 감독처럼 보입니다.
jcollum

4
@jcollum 언뜻보기에는 그렇게되지만, 새 명령을 추가하기 위해 명령을 앨리어싱하는 단순성과 하나를 생성하고 텍스트 파일을 편집하는 모든 엣지 케이스 / 고장 / 잠재적 인 문제를 해결하는 작업의 복잡성도 사용자. 나는 당신에게 동의하고 동의하지 않기 때문에 갈등을 느낍니다.
abelito

100

매우 유용한 git ignore 명령이 멋진 tj / git-extras 와 함께 제공됩니다 .

다음은 몇 가지 사용 예입니다.

현재 무시 된 모든 패턴 나열

git ignore

패턴 추가

git ignore "*.log"

gitignore.io 에서 템플릿 중 하나를 추가합니다.

git ignore-io -a rails

git-extras 는 더 많은 유용한 명령을 제공합니다. 시도해 볼 가치가 있습니다.


1
git ignore "index.html"을 사용하면이 파일을 무시합니까?
JohnAndrews 2015

-t 명령이 여전히 적용 가능합니까? 실행하면 -t와 내가 git ignore 파일에 추가하려고하는 템플릿을 추가합니다.
Bynho

50

Linux / Unix에서는 echo명령 을 사용하여 .gitignore 파일에 파일을 추가 할 수 있습니다 . 예를 들어 모든 .svn폴더 를 무시 하려면 프로젝트의 루트에서 다음을 실행하십시오.

echo .svn/ >> .gitignore


3
Windows에서 힘내 배쉬에서, 나는 이전 추가 할 필요 /같은 (새로운 라인을 만드는)와 후행 '\' echo /nbproject/project.properties\ >> .gitignoreecho /nbproject/project.xml\ >> .gitignore.
라이언

15

파일을 무시하는 방법에는 두 가지가 있습니다.

  • .gitignore모든 폴더에서 해당 폴더의 파일에 지정된 파일을 무시합니다. 와일드 카드를 사용할 수 있습니다.
  • .git/info/excludeglobal-ignoresin subversions 구성 파일 과 유사한 전역 무시 패턴을 보유 합니다.

6
Subversion 의 디렉토리 속성 의 경우와 달리 .gitignore'/'가 포함되지 않은 파일의 패턴은 재귀 적 으로 일치합니다 (즉, .gitignore파일이 있는 디렉토리의 모든 하위 디렉토리 에서) svn:ignore.
Jakub Narębski

6

너무 늦지 않았 으면 좋겠습니다.

Windows를 사용하는 경우 다음을 수행하여 .gitignore 파일 을 만들 수 있습니다.

echo name_of_the_file_you_want_to_ignore.extension > .gitignore

.gitignore 를 편집하려면 다음을 실행할 수 있습니다.

notepad .gitignore

2
이미 .gitignore 파일이있는 경우에는 사용하지 마십시오. 덮어 쓰게됩니다! 위해 추가 무시하는 파일이 사용 >> 에코 ignore.ext은 .gitignore
TomEberhard

.gitignore 파일이 존재하지 않는 경우에만 사용하는 것이 좋습니다. "notepad .gitignore"를 사용하는 것이 더 좋습니다. .gitignore 파일이 있으면 파일이 열리고, 그렇지 않으면 파일이 만들어지고 메모장에서 모든 파일을 추가 할 수 있습니다. 한 줄에 파일 / 폴더 1 개
Nesar

3

저장소의 루트에 .gitignore라는 파일을 만듭니다. 이 파일에는 무시하려는 각 파일의 상대 경로를 한 줄에 입력합니다. *와일드 카드 를 사용할 수 있습니다 .


2

이미 제공된 답변을 git ignore사용하여 별칭을 사용 하여 고유 한 명령을 롤링 할 수 있습니다 . ~ / .gitconfig 파일에 다음을 추가하십시오.

ignore = !sh -c 'echo $1 >> .gitignore' -

또는 선택한 (* nix) 셸에서 다음 명령을 실행합니다.

git config --global alias.ignore '!sh -c "echo $1 >> .gitignore" -'

마찬가지로 위의 로 및 로 git exclude대체 하여 명령을 만들 수 있습니다 .ignoreexclude.gitignore.git/info/exclude

(여기에서 답변을 읽은 두 파일의 차이점을 아직 이해하지 못했다면 이 질문을 참조하십시오 .)


1
여기에 대한 대답은 $ 1을 올바르게 확장합니다. stackoverflow.com/a/21884533/1465227
Archangel33

2

작업 사본 또는 저장소에없는 이름의 경우 :

echo /globpattern >> .gitignore

또는 기존 파일의 경우 (sh 유형 명령 줄) :

echo /$(ls -1 file) >> .gitignore   # I use tab completion to select the file to be ignored  
git rm -r --cached file             # if already checked in, deletes it on next commit

1

프로젝트에 대한 완전한 .gitignore 파일 을 정의하는 것이 유용합니다 . 보상은 편리하고 안전한 사용 인 --all또는 -a같은 명령에 플래그 addcommit.

또한 Emacs에서 생성 한 임시 파일을 포함하는, 과 같이 일반적으로 무시되는 패턴에 대해 전역 ~ / .gitignore 파일을 정의하는 것을 고려 하십시오 *~ .


1

이를 위해 git-extras를 설치해야합니다. apt-get을 사용하여 Ubuntu에 설치할 수 있습니다.

$ sudo apt-get install git-extras

그런 다음 git ignore 명령을 사용할 수 있습니다.

$ git ignore file_name

3
Mac에서 Homebrew가 설치되어 있으면 brew install git-extras.
Alex Glover

0

Joe Blau의 gitignore.io를 사용할 수도 있습니다.

웹 인터페이스 https://www.gitignore.io/를 통해

또는 CLI 도구를 설치하면 매우 간단합니다. 터미널에 다음을 입력하면됩니다.

리눅스 :
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bashrc && source ~/.bashrc

OSX :
echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile

그런 다음 gigitignore 기준이 필요한 모든 플랫폼 / 환경 요소를 입력하면됩니다.

예!
grunt가 포함 된 노드 프로젝트에서 작업 중이고 Linux에서 webstorm을 사용하고 있다고 가정 해 보겠습니다.
gi linux,webstorm,node,grunt > .gitignore(새 파일을 만들려면)
또는
gi linux,webstorm,node,grunt >> .gitignore(기존 파일에 새 규칙을 추가 / 추가하려면 다음을 입력하십시오. )

bam, 당신은 갈 수 있습니다

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