remove - git tags best practices
Cómo hacer ''git checkout--theirs'' para varios archivos(o todos los archivos no combinados) (4)
Esto revisa todos los archivos sin combinar sin especificar el directorio:
git ls-files --unmerged | perl -n -e''//t(.*)/ && print "$1/n"'' | uniq | xargs -r git checkout --theirs --
Digamos que tengo esto después de intentar una combinación y al ingresar al git status
:
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# added by them: myfile1.xhtml
# added by them: myfile2.xhtml
# added by them: myfile3.xhtml
... y sé que quiero hacer esto para cada uno de esos archivos:
git checkout --theirs myfile1.xhtml
git add myfile1.xhtml
... pero hay muchos de ellos. ¿Cómo podría hacerlos como un lote?
La solución para mi caso terminó siendo simplemente usar un comodín en la ruta del directorio, ya que los archivos se agruparon:
git checkout --theirs directory_name/*
git add directory_name/*
Puede usar los siguientes comandos para verificar múltiples archivos en una ruta no combinada
git checkout --theirs `git status | grep "added by them:" | awk ''{print $NF}''`
Ejecuta el siguiente comando para cometer los archivos anteriores.
git commit `git status | grep "added by them:" | awk ''{print $NF}''`
Si sus archivos son más profundos que un directorio (es decir, hay subdirectorios) y desea seleccionar selectivamente todos their
archivos para un directorio, use lo siguiente:
grep -lr ''<<<<<<<'' directory_name/ | xargs git checkout --theirs
git add directory_name/*
(desde esta pagina )