git은 .git 디렉토리를 제외하지 않습니다.

git은 .git 디렉토리를 제외하지 않습니다.

내 음악 폴더의 버전 제어를 사용하여 폴더를 정렬하는 방법과 음악이 추가/제거되는 시점을 추적하려고 합니다. 저장소의 콘텐츠가 아닌 메타데이터만 필요합니다.

이를 달성하기 위해 저장소 루트에 두 개의 텍스트 파일을 tree유지합니다 ..list

다음은 15분마다 실행되는 cron 스크립트입니다.

cd /home/user/folder/ && tree -faRn -o /home/user/folder/.list/1
cd /home/user/folder/ && tree -faRhupsDn --du -o /home/user/folder/.list/2
git -C /home/user/folder add .list
git -C /home/user/folder commit -m $a 

또한 .git폴더(!)도 감시합니다. 이는 스크립트가 실행될 때마다 커밋된다는 의미입니다. gitignore에 .git을 추가해야 합니까? 왜 .git해당 폴더도 모니터링합니까? 내 디렉토리의 이름이 이기 때문입니까 .list? 큰따옴표가 필요합니까? .listGit 저장소가 아닙니다.

TIG 용접 출력


고마워요, 산자 난다!

수정된(그리고 작동하는!) 스크립트는 다음과 같습니다.

cd /home/user/folder/ && tree -faRn -I '.git|.list' -o /home/user/folder/.list/1
cd /home/user/folder/ && tree -faRhupsDn -I '.git|.list' --du -o /home/user/folder/.list/2
git -C /home/user/folder add .list
git -C /home/user/folder commit -m $a 

답변1

디렉토리를 tree살펴봅니다 ..git

tree해당 디렉토리를 무시 하라고 지시해야 합니다 .git. 내가 액세스할 수 있는 Ubuntu 시스템에서는 다음 명령을 사용하여 이 작업을 수행합니다.

tree -I '.git' ...other options...

폴더 를 무시하도록 할 수도 있습니다 .list.

관련 정보