Quiero comprobar cuánto cambio un file de una twig a otra en git.
git diff branch1 branch2 -- file.txt
git diff HEAD ^ .. HEAD –name-only – dará la list de files modificados entre HEAD y una revisión antes HEAD (HEAD ^). Puede replace HEAD ^ con un SHA1 del commit "from" y HEAD con el SHA1 del commit "to":
git diff .. –name-only
Por lo tanto, si canaliza la salida a wc -l, debería darle la cantidad de files modificados entre commits.
Tengo 2 soluciones:
(1) Ver el número de files de diferencia inmediatamente.
git diff branch_foo branch_bar --name-only --oneline --numstat | wc -l
(2) Exporte a un file de text, luego cuente el número de líneas.
git diff branch_foo branch_bar --name-only --oneline > result.txt
luego abra el file result.txt, cuente el número de líneas.
Por ejemplo
git clone https://github.com/spring-projects/spring-boot.git cd spring-boot git diff master heads/remotes/upstream/gh-6030 --name-only --oneline --numstat | wc -l git diff master heads/remotes/upstream/gh-6030 --name-only --oneline > result.txt
Este es mi flujo de trabajo, probablemente pueda darte algunas ideas.
Normalmente tengo branch master
y develop
y tengo un alias en mi shell, llamado gd
alias gd="echo master diff:; git diff --name-status master develop"
Esto me ayuda a enumerar todos los files que han cambiado entre las twigs (maestro y desarrollo).
A continuación, si me gustaría ver solo las diferencias entre dos files que uso:
git d develop master -- file.txt
Observe la d
lugar de usar diff
:
En este caso d
en un alias en mi .gitconfig
:
[alias] d = difftool [diff] tool = vimdiff
Esto me ayuda a usar vimdiff
para poder ver fácilmente los cambios, al usar las opciones [diff]
, puedes agregar tu herramienta de preference, espero que esto te pueda ayudar o dar algunas ideas sobre cómo extender .gitconfig
para simplificar la repetición. Tareas.