사용법 - github란




git이 로컬에서 일부 파일을 무시하도록 설정하려면 어떻게해야합니까? (6)

.gitconfig 파일의 [별칭] 섹션에 다음 행을 추가하십시오.

ignore = update-index --assume-unchanged
unignore = update-index --no-assume-unchanged
ignored = !git ls-files -v | grep "^[[:lower:]]"

이제 git ignore my_file 을 사용하여 로컬 파일에 대한 변경 사항을 무시하고 git unignore my_file 을 사용하여 변경 사항 무시를 중지 할 수 있습니다. git ignored 무시 된 파일을 나열합니다.

이 답변은 http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html 에서 수집되었습니다.

다른 모든 사람들을 위해 글로벌 git 구성을 오염시키지 않고 파일을 로컬에서 무시할 수 있습니까? 내 자식 상태에서 스팸 파일을 untracked 있지만 내 로컬 지점에있는 모든 작은 단일 임의의 untracked 파일에 자식 구성 변경을 커밋 싶지 않아요.


.gitignore 파일을 홈 디렉토리 (예 : $HOME/.gitignore 또는 ~/.gitignore 추가하기 만하면됩니다. 그런 다음 git에게 다음 명령으로 해당 파일을 사용하도록 알려줍니다.

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

무시할 내용을 결정할 때 참조하는 정상적인 .gitignore 파일입니다. 그것은 홈 디렉토리에 있기 때문에, 그것은 당신에게만 적용되며 어떤 프로젝트도 오염시키지 않습니다. 파일을 기고하십시오.

나는 수년간이 접근법을 사용해 왔으며 훌륭한 결과를 얻었습니다.


repo에 아직 .gitignore 파일이 없다면 간단한 해결책은 .gitignore 파일을 만들고 그 안에 .gitignore 를 무시할 파일 목록에 추가하는 것입니다.



이 프로세스를보다 간단하게하기 위해 일부 별칭 을 설치할 수 있습니다. .gitconfig 파일의 [alias] 노드를 편집합니다.

git config --global alias.ignore 'update-index --skip-worktree'
git config --global alias.unignore 'update-index --no-skip-worktree'
git config --global alias.ignored '!git ls-files -v | grep "^S"'

귀하가 설치 한 바로 가기는 다음과 같습니다.

  • git ignore config.xml
    • git은 config.xml 변경 사항을 보지 못하게하려고합니다. 실수로 변경 사항을 커밋하지 못하게합니다.
  • git unignore config.xml
    • git은 config.xml 대한 변경 사항을 다시 인식하여 변경 사항을 커밋 할 수 있습니다.
  • git ignored
    • git은 위에서 설명한 방식으로 "무시"하는 모든 파일을 나열합니다.

나는 phatmann의 대답 을 참고하여 이것을 만들었습니다 .

내가 현재 사용하는 버전은 --skip-worktree 를 사용하여 로컬 변경 사항을 무시합니다. 차이점에 대한 자세한 설명은 Borealid의 답변 을 참조하십시오. 그러나 본질적으로 --skip-worktree 의 목적은 개발자가 변경 작업을 수행 할 위험없이 파일을 변경하는 것 입니다.

git ignored 명령은 git ls-files -v 를 사용하고 목록을 필터링하여 S 태그로 시작하는 항목 만 표시합니다. S 태그는 상태가 "skip worktree"인 파일을 나타냅니다. git ls-files 표시된 파일 상태의 전체 목록은 git ls-files-t 옵션 설명서를 참조하십시오.


관련된 Git 문서에서 :

특정 저장소에 한정되지만 다른 관련 저장소와 공유 할 필요가없는 패턴 (예 : 저장소 내에 있지만 하나의 사용자 워크 플로에만 해당하는 보조 파일)은 $GIT_DIR/info/exclude 파일로 이동해야합니다.

.git/info/exclude 파일은 .gitignore 파일과 동일한 형식입니다. 또 다른 옵션은 core.excludesFile 을 전역 패턴을 포함하는 파일의 이름으로 설정하는 것입니다.

이미 unstaged 변경 사항이있는 경우 ignore-patterns을 편집 한 후 다음을 실행해야합니다.

git update-index --assume-unchanged [<file>...]

$GIT_DIR 에 대한 참고 사항 : 이것은 git 매뉴얼의 전체에 사용되는 표기법으로 git 저장소의 경로를 나타냅니다. 환경 변수가 설정되면, 사용자가 원하는 Repo 위치를 덮어 쓰게됩니다.





gitignore