Eliminar compromiso intermedio en Visual Studio Online

Edité mi file README.md varias veces porque no vi el button de vista previa. Ahora mi historial de commits está lleno de commits inútiles.

¿Puedo eliminar algunos de ellos, o al less ocultarlos?

PRECAUCIÓN

La reescritura de la historia puede hacer que su sistema de control de fuente esté bastante desorderado. Asegúrese de tener una buena copy de security de sus fonts en caso de que algo salga mal.

Git

Dependiendo de la configuration de su proyecto de equipo, el file Readme.md se almacena en un repository de Git, puede reescribir absolutamente el historial y forzar el empuje de los commit aplastados nuevamente a TFS, esencialmente haciendo que se olvide de los datos intermedios. Esto se hace usando git rebase y no se puede hacer a través del sitio de Visual Studio Online ni a través de las herramientas de Visual Studio para Git. Tendrá que hacerlo desde la línea de command.

Todo el process se explica muy bien en la wiki de Git-SCM . Tendrá que hacer los siguientes pasos:

  1. Desde una count con permissions de Force Push, clone su repository que contiene el file readme.md.
  2. use git rebase -i HEAD~6 (6 es el número de confirmaciones para rebobinar)
  3. usa Squash para fusionar los commits juntos
  4. use git push --force origin master para forzar la reescritura del historial en el control remoto

Nota : esto cambiará el hash de la confirmación y cada confirmación posterior. Después de hacer esto, avise a todos los demás contribuyentes para que vuelvan a sincronizar o asegúrese de que ningún otro haya trabajado en el repository después de que haya realizado estos commits.

TFVC

Si su Team Project se configura utilizando TFVC, entonces el process es ligeramente diferente.

  1. Asegúrese de tener una copy del file que desea conservar.
  2. Destruya el file en control de fuente usando tf destroy $/Teamproject/readme.md . Si es necesario, puede usar la /keephistory /stopat:C12345 para destruir los datos en sets de cambios específicos al final del historial de un file.
  3. Ahora copie su file respaldado en su lugar
  4. y compruébalo como lo harías habitualmente o desde la command-line tf add $/teamproject/reqadme.md seguido de tf checkin . Si mantuvo el historial, TFVC lo volverá a conectar. Si destruiste completamente el historial, TFVC simplemente agregará un nuevo file.