Voglio che git smetta di monitorare il mio log di sviluppo locale (log/development.log) nei nostri repository. È possibile e come posso farlo?Rimuovere un file esistente da un Git Repo
risposta
solo per dare la risposta completa tutto in una volta:
da Klemens: è necessario aggiungere il file al file
.gitignore
da qualche parte sopra il file indesiderato nel repository. vale a dire$ cd $ cat >> .gitignore development.log C-d
da m. narebski: È quindi necessario rimuovere il file dal repo eseguendo "
git rm --cached <file>
e poi commettere questa rimozione"
Se siete stati anche sperando di rendere il look di pronti contro termine, come se non fosse mai rintracciato quel file, che è molto più complicato e molto scoraggiato in quanto non solo crea nuovi commit per ogni singolo commit nella tua storia, distruggendo così l'interoperabilità in modo sgradevole tra le altre persone che hanno clonato il tuo repository, ma lascia anche nessuno di quei commit non testati (assumendo prova i tuoi commit prima di renderli).
Con questo avvertimento, lo strumento che stai cercando se questo è il tuo obiettivo è filter-branch
. Il primo esempio fa esattamente quello che sto descrivendo.
utilizzando git rm --cached sembra non averlo rimosso solo il ramo, ma quando tiro su un altro sistema cancella fisicamente i file su quel sistema. Qualche idea su cosa sta succedendo lì? – biagidp
In risposta a quanto sopra: credo che il problema era che non avevo il .gitignore sul posto nel sistema alternativo prima di eseguire le modifiche, quindi l'eliminazione rimosse la copia locale. Almeno questa è la teoria – biagidp
aggiungere il file gitignore.
Questa è solo la metà della risposta. Le voci '.gitignore' non si applicano ai file che sono già stati tracciati. –
La seconda parte è 'git rm --cached
Perché non esiste un semplice comando per git per rivalutare tutti i file attualmente tracciati in base al file .gitignore corrente? ... o sta esercitando troppo buon senso? : p – Alexander
Per interrompere il rilevamento del file, utilizzare semplicemente git rm --cached <filename>
.
Tuttavia, come indicato in precedenza da altri, l'aggiunta del file a .gitignore potrebbe impedire l'aggiunta accidentale in seguito.
- 1. Rimuovere la directory '.git' da git repo?
- 2. Usa git-svn con un repo esistente mancante .git/svn/
- 3. Aggiungi svn repo al repository git esistente?
- 4. Rimuovere un file con un nome strano da git
- 5. Come rimuovere extender da un osservabile esistente?
- 6. sottomodulo git da repo Hg?
- 7. Mantenere cambiamenti locali in un repo git
- 8. Clonazione di un singolo file da Github Repo
- 9. Rimuovere un file da Git in Visual Studio
- 10. Come posso ottenere solo gli autori di un file specifico da un git-repo?
- 11. Rimuovere completamente un file dall'intero repository git
- 12. Reinizializzare Git Repo
- 13. Come trovare un URL per un repo GIT locale
- 14. Cloning git repo
- 15. Come rimuovere i file cancellati da .git?
- 16. Mantenere git repository all'interno di un altro git repo
- 17. git inizializzazione repo remoto
- 18. Splitting enorme git repo
- 19. Come copiare un ramo Git locale per un repo remoto
- 20. Sostituisci remote git repo (Heroku)
- 21. Come sostituire git repo?
- 22. Applicare git .gitignore a un repository esistente
- 23. Come configurare un repository git esistente per essere condiviso da un gruppo UNIX
- 24. Rimuovere integrazioni git da VSCode
- 25. Importare un progetto git esistente in GitLab?
- 26. Come rimuovere un repository Git locale da TortoiseGit?
- 27. Rendere la cartella esistente un sottoalbero git
- 28. Converti Git Repo in Darcs
- 29. Posso rimuovere il commit iniziale da un repository Git?
- 30. Come integrare output di generazione da un repo git in un altro
possibile duplicato di [Effettuare git "dimenticare" un file che * era * rintracciato ma ora è ".gitignored"] (http://stackoverflow.com/questions/1274057/making-git-forget-about-a -file-that-was-tracked-but-is-now-gitignored) – Cascabel