Sie können
git rm myConfigFile
echo myConfigFile > .gitignore
git add .gitignore
git commit -m "from now on, no more myConfigFile"
Den anderen Extrem Ansatz (gefährlich vor allem, wenn Sie bereits Ihre Repo zu einem entfernten einem geschoben) wären ganz die Datei aus der Geschichte des Repo zu entfernen :
git filter-branch --index-filter 'git update-index --remove myConfigFile' HEAD
(mit Vorsicht zu verwenden und mit einem Backup zuerst)
Die Frage How do I remove sensitive files from git’s history hat mehr zu diesem heiklen Thema.
Die Probleme mit diesem Verfahren gibt es zwei Gründe:
- Wenn Ihr Repo bereits geklont hat, können Sie nie die vertraulichen Informationen garantieren wird wirklich „weg“ von jedem anderen Repo.
- Wenn andere versuchen, Ihre letzten Änderungen nachher abzulegen, erhalten sie eine Meldung, dass die Änderungen nicht angewendet werden können, da es sich nicht um einen Schnellvorlauf handelt.
Um dies zu beheben, müssen sie entweder ihr vorhandenes Repository löschen und es erneut klonen, oder folgen Sie den Anweisungen unter "RECOVERING FROM UPSTREAM REBASE
" in der git-rebase
manpage.
In beiden Fällen Ihre vertraulichen Informationen nicht „ruhig“ ersetzt oder gelöscht werden ...
Was Sie genau zu tun versuchen? Möchten Sie ein einzelnes Commit wiederherstellen, das vor 2 Wochen stattfand? – BastiBen