를 삭제하지 않고 추적되는 :/힘내 파일을 무시는 내가 기본 자식의 개념을 이해하는 몇 가지 문제가 있어요 그들에게
내가 내 자식 제어 사이트에 몇 가지를 시도하기 전에 내 로컬 Windows 시스템에서 테스트를하고있다.
gittesting/repo1:
file.txt
ignoreme:
ignore.txt
및
gittesting/repo2
file.txt
ignoreme:
ignore.txt
Repo2이 repo1의 사본이며, ignoreme 이미 추적되고 :
나는 있습니다. ignore.txt 파일은 repo2에서 변경되지만 추적을 중지하고 git이 완전히 무시하도록하려고합니다. 문제는 내가 .gitignore 파일을 만들고 ignoreme을 추가하면 이미 추적 중이므로 너무 늦기 때문에 git rm --cached ignore를 수행해야하지만 삭제 된 것으로 표시되고 커밋을 가져온 경우 문제가 발생한다는 것입니다. repo1, 디렉토리는
그것을 요약하면 .. 대신 혼자 존재의 삭제 될 것입니다 :
- ignore.txt 두의 repos 사이의 서로 다른 내용을 가지고있다.
- 나는 그들이 완전히 내가, 온라인 보았다 IRC에 요청하고, 매우 관련 질문을 검토 한
자식 무시로 ignore.txt의 내용을 유지하기를 원하지만 할 수 없습니다 이것을하는 방법을 찾으십시오. 예제가 사소한 것처럼 보입니다.하지만 정확하게 사이트가 포럼/캐시 인 내 사이트에서해야 할 일입니다.
편집 :
이 해킹의 비트와 나는 더 나은 대답을 선호하는 것,하지만 난 일을 결국 :
cd repo2
echo "ignoreme" > .gitignore
echo "ignoreme/*" > .gitignore
git rm --cache -r ignoreme
git commit -m "Should ignore now"
cd ../repo1
mv ignoreme ignoreme2
git pull ../repo2
mv ignoreme2 ignoreme
나는 항상 "빈"디렉토리를 위해 디렉토리 안에'.gitignore'를 두는 것을 선호한다. – meagar
맞춤식 접근법은 빈'.gitkeep' 파일을 커밋하는 것입니다. 그 이유는 간결하고 모호하지 않은 접두사입니다.'. * # ignore dotfiles'!! .git * # 저장소를 구성하는 접두사가 아닙니다. 즉, .gitignore, .gitkeep' –
.keepme은 널리 사용되는 관용구입니다. 관용어가 늘 그렇듯이 곡식에 어긋나고 자신의 위험을 무릅 쓰고 할 수 있습니다. –