Diciamo che voglio per rinominare un metodo nel codice sorgente contenuto in un repository git. Potrei farlo a mano, ma il nome del metodo potrebbe essere in più punti (ad esempio, unit test, documentazione, metodo effettivo). Per controllare dove viene usato il metodo, io uso 'git grep'. I get 'git grep' per mostrare solo le linee che voglio cambiare, e quindi non ho un flusso di lavoro per cambiare automaticamente quelle linee.Esiste una "git sed" o equivalente?
Sto cercando un modo automatico (si spera utilizzando strumenti Git) per fare questo ultimo passo. Speravo che esistesse una sorta di "git sed" o equivalente, ma non ne trovo nessuno.
L'interfaccia Sto pensando che sarebbe bello: git sed 's /-metodo-vecchio nome-metodo-nome nuovo// g'
Sospetto che sia necessario un '$ i' lì alla fine del comando. Inoltre, non è necessario avviare Perl ripetutamente. Elabora tutti i file che gli vengono assegnati come argomento. Quindi 'perl -i.orig -pe 's \ \ bold_method_name \ b/new_method_name/g' $ (git grep --full-name -l vecchio_metodo_nome)' dovrebbe essere sufficiente. – tchrist
Molto meglio. Ho corretto $ i nello snippet. –
lo abbiamo inserito in git-extras: https://github.com/tj/git-extras/pull/466 – anarcat