IT TIP

git은 특별히 명명 된 파일 2 개를 무시하지 않습니다.

itqueen 2020. 12. 10. 21:35
반응형

git은 특별히 명명 된 파일 2 개를 무시하지 않습니다.


git 리포지토리의 일부이지만 일부 변경 사항이있는 2 개의 파일을 커밋에서 자동으로 제외하고 싶습니다. 일부 변경 사항은 github 리포지토리의 일부가 아니어야합니다. 일부 변경 사항은 내 로컬 시스템에만 의미가 있고 다른 부분에는 적용되지 않기 때문입니다. 개발자.

나는 .git/info/excludegit가 변경 사항을 커밋해서는 안된다는 것을 이해하기를 희망 하여 추가 했습니다.

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
a.conf
b.conf
# *~

그러나 git status여전히 커밋을 위해 준비된 것으로 나열합니다.

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   build/conf/a.conf
#   modified:   build/conf/b.conf
#

커밋 할 때마다 정기적으로 스테이지를 해제하고 싶지 않습니다 (한 번만 잊어 버릴 수도 있음). 어떻게하면 되나요?


원하는 것은 추적 된 파일의 변경 사항을 무시하는 것입니다. 이것은 (로 달성 할 수 찰스 베일리는 말한다 ) 올바르게, 어느와 .gitignore도 함께 .git/info/exclude.

다음을 사용해야합니다 git update-index.

git update-index --assume-unchanged build/conf/a.conf
git update-index --assume-unchanged build/conf/b.conf

원하는 것을 얻을 수 있습니다. 파일은 항상 변경되지 않은 것으로 간주됩니다.

이러한 파일의 변경 사항을 다시 추적하려면 --no-assume-unchanged.

마지막으로 현재 --assume-unchanged모드 에있는 파일을 알고 싶다면 git에게

git ls-files -v | grep -e "^[hsmrck]"

참고 URL : https://stackoverflow.com/questions/10879783/git-doesnt-ignore-2-specifically-named-files

반응형