내 .gitignore
파일은 해당 ../../.aws/
디렉토리를 무시하도록 지시합니다.
$ cat .gitignore
coredumps/
../../.aws/
.*.sw*
*bak
*log
아쉽게도 이 지시문은 무시되었습니다.
$ git status | head -6
# On branch main
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../../.aws/
# ../../.bash_history
유언장이 출력에서 제외 .gitignore
되도록 my 를 어떻게 변경해야 합니까 ?../../.aws/
git status
답변1
이 .gitignore
파일은 디렉터리 및 해당 하위 디렉터리의 파일에 적용됩니다. 상위 디렉터리나 다른 하위 디렉터리에는 적용되지 않습니다. 당신이 무시하려는 것은 파일이 있는 곳보다 ../../.aws/
위에 두 개의 디렉토리 가 있다는 것입니다..gitignore
이 문제를 해결하는 몇 가지 방법은 다음과 같습니다.
.gitignore
파일을 적절한 디렉터리에 넣습니다 ..gitignore
: 해당 디렉터리나 바로 상위 디렉터리에 파일을 넣을 수 있으면.aws/
그렇게 할 수 있습니다. 이.gitignore
파일에서는 디렉터리를 무시하는 항목을 추가합니다.aws/
..gitignore
전역 파일 사용: 모든 Git 리포지토리에서 이러한 파일을 무시하려면 전역.gitignore
파일을 생성하면 됩니다.git config --global core.excludesfile '~/.gitignore_global'
.aws/
그런 다음 이~/.gitignore_global
파일 에 추가할 수 있습니다 .
.aws/
이전에 Git에서 추적한 파일이 디렉토리에 있는 경우 Git이 해당 파일을 무시하기 시작하기 전에 저장소에서 해당 파일을 제거해야 합니다. 다음 명령을 사용하면 파일의 로컬 복사본을 삭제하지 않고도 이 작업을 수행할 수 있습니다.
git rm --cached -r .aws/
이 명령을 실행하면 Git은 디렉터리의 변경 사항 추적을 중지합니다 .aws/
.