Digamos que quiero cambiar el nombre de un método en el código fuente contenido en un repositorio de git. Podría hacerlo a mano, pero el nombre del método podría estar en varios lugares (por ejemplo, prueba de unidad, documentación, método real). Para verificar dónde se usa el método, uso 'git grep'. Obtengo 'git grep' para mostrar solo las líneas que quiero cambiar, y luego no tengo un flujo de trabajo para cambiar automáticamente esas líneas.¿Hay un 'git sed' o equivalente?
Estoy buscando una forma automatizada (con suerte usando herramientas git) para hacer este último paso. Esperaba que hubiera algún tipo de 'git sed' o equivalente, pero no puedo encontrar ninguno.
La interfaz Estoy pensando que sería bueno: sed git 's/nombre-método-viejo-nuevo método de Nombre// g'
Sospecho que necesitas un '$ i' allí al final del comando. Además, no tiene que ejecutar Perl repetidamente. Procesará todos los archivos que le das como argumento. Así 'perl -i.orig -pe 's/\ bold_method_name \ b/new_method_name/g' $ (git grep --full-name -l old_method_name)' debería ser suficiente. – tchrist
Mucho mejor. He arreglado $ i en el fragmento. –
introdujo esto en git-extras: https://github.com/tj/git-extras/pull/466 – anarcat