Cómo volver a networkingactar un Git commit por su hash SHA1?

He creado una confirmación con un post de confirmación que deseo modificar. Aún no he publicado el compromiso, así que puedo reescribir la historia de forma segura. Puedo encontrar el uso de git log, así que sé que es Sha1 hash. ¿Cómo puedo editar rápidamente la confirmación?

Puede verificar el compromiso en cuestión, modificar su post y rebase de nuevo a su sucursal de forma manual:

$ git checkout FIRST_COMMIT_SHA $ git commit --amend $ git rebase HEAD THE_BRANCH_YOU_CAME_FROM 

Este git alias automatizará este process:

 reword = "!f() { branch=`git symbolic-ref --short HEAD`; git checkout $1; git commit --amend; git checkout $branch; }; f" 

Para agregarlo a su ~/.gitconfig :

 $ git config alias.reword "!f() { branch=`git symbolic-ref --short HEAD`; git checkout $1; git commit --amend; git checkout $branch; }; f" 

Entonces use esto:

 $ git reword SHA1_OF_THE_COMMIT_TO_BE_REWORDED 

Créditos:

  • Responde con la idea original
  • Preguntas y respuestas sobre cómo get la twig actual de git

Alternativamente, la modificación del post de compromiso inicial se puede realizar utilizando el command rebase y suministrando el indicador --root . Además, necesitaría especificar el modo interactivo y usar la edit para la primera confirmación, así:

 git rebase -i -root // Specify 'edit' for the first commit. // Amend first commit message here. git commit --amend 

Vea aquí para más detalles sobre la bandera --root .

Además, siempre que la confirmación con el post que desea modificar se encuentre en la twig en la que está trabajando, puede resolverla fácilmente con una rebase interactiva también. Simplemente ubique el SHA-1 corto correspondiente y especifique edit para permitir la modificación de su post de confirmación.