Questo è come tipo di voi può fare con git filters:
- Create/Open File gitattributes:.
- < progetto root>/gitattributes (saranno impegnati in pronti contro termine)
O
- < root del progetto> /. Git/info/attributi (non verrà eseguito il commit nel repository)
- Aggiungere una linea che definisce i file da filtrare:
*.rb filter=gitignore
, cioè il filtro eseguire chiamato gitignore
su tutti *.rb
file
- definire il filtro
gitignore
nel gitconfig
:
$ git config --global filter.gitignore.clean "sed '/#gitignore$/'d"
, vale a dire eliminare queste linee
$ git config --global filter.gitignore.smudge cat
, ovvero non fare nulla quando si estrae il file dal repository
Note:
Naturalmente, questo è per i file rubino, applicato quando una riga termina con #gitignore
, applicato a livello globale in ~/.gitconfig
. Modifica questo tuttavia è necessario per i vostri scopi.
Avviso !!
Questo lascia il tuo file di lavoro diverso dal repository (ovviamente). Qualsiasi verifica o ribasso significherà che queste linee andranno perse! Questo trucco può sembrare inutile dal momento che queste righe vengono ripetutamente perse al check out, rebase o pull, ma ho un caso d'uso specifico per utilizzarlo.
Proprio git stash save "proj1-debug"
mentre il filtro è inattivo (basta disabilitare temporaneamente in gitconfig
o qualcosa del genere). In questo modo, il mio codice di debug può sempre essere git stash apply
'd al mio codice in qualsiasi momento senza timore che queste righe vengano mai commesse accidentalmente.
Ho una possibile idea per gestire questi problemi, ma cercherò di implementarlo in un altro momento.
Grazie a Rudi e jw013 per aver menzionato i filtri git e i gitattributes.
non posso dire se questa è una pessima idea o di un brillante uno . –
@KyleStrand per lo meno, posso aggiungerlo alle linee di debug che digito e mi sento sicuro sapendo che non verranno commessi accidentalmente – Kache
Giusto, questa è la parte "brillante". –