Revertir un antiguo compromiso específico

Hola, tengo un repository en Bitbucket. Estoy trabajando con un socio en un proyecto y él empujó algunas actualizaciones hace algunos commits, trabajando en un file, me di count de que él hizo un código incorrecto. Quiero revertir esa confirmación, particularmente ese file solo para poder recuperar el código de ese file solamente. cartitems.blade.php

es posible?

Adjunto está la image de la herramienta SourceTree. Los cambios no comprometidos son mis nuevos cambios. Quiero conservar esto y recuperar ese file específico solamente.

enter image description here

Para revertir solo el file cartitems.blade.php (no la confirmación completa), puede verificar la versión del file antes de la confirmación "incorrecta":

 git checkout 41123f6 -- resources/views/cart/cartitems.blade.php 

Ahora asegúrate de que no haya otros files procesados ​​para confirmar y confirmar el file:

 git add resources/views/cart/cartitems.blade.php git commit -m "Revert cartitems.blade.php" 

De esta forma no tendrá que reescribir el historial. Sin embargo, no estoy seguro si podría hacer esto con la GUI de SourceTree. Puede usar el button "Terminal" en la esquina superior derecha de SourceTree para abrir la terminal.

Al igual que deshacerse del último compromiso "para siempre" para que sea como si no hubiera sucedido?

Supongamos que el cambio ya está en su twig principal:

git checkout master git reset --hard HEAD~1 git push origin master

Eso debería ser suficiente.

Si ya lo empujó a su repository y está trabajando en un equipo grande, tenga cuidado, ya que sus compañeros podrían tener algunos conflictos de fusión frustrados haciendo eso.

Puedes usar git revert para invertir los efectos de una confirmación específica y crear una nueva confirmación con los cambios revertidos.

En este caso

 git revert 797832c 

creará automáticamente una confirmación con los cambios invertidos.