Den første overføringen min inneholdt noen loggfiler. Jeg har lagt *log
til .gitignore
, og nå vil jeg fjerne loggfilene fra depotet mitt.
git rm mylogfile.log
vil fjerne en fil fra depotet, men vil også fjerne den fra det lokale filsystemet.
Hvordan kan jeg fjerne denne filen fra depotet uten å slette min lokale kopi av filen?
Fra man-filen:
Når
--cached
er gitt, må det iscenesatte innholdet matche enten tuppen av grenen eller filen på disken, slik at filen kan fjernes fra bare indeksen.
Så, for en enkelt fil:
git rm --cached mylogfile.log
og for en enkelt katalog:
git rm --cached -r mydirectory
Hvis du vil fjerne en hel mappe fra repoen (som Resharper-filer), gjør du dette:
git rm -r --cached folderName
Jeg hadde overført noen resharper-filer, og ville ikke at de skulle vedvare for andre prosjektbrukere.
Hvis du har overført sensitive data (f.eks. en fil som inneholder passord), bør du også slette dem helt fra historikken i depotet. Her er en veiledning som forklarer hvordan du gjør det: http://help.github.com/remove-sensitive-data/