Tengo un estudiante que desea mostrar el progreso incremental de su proyecto web en una presentación la próxima semana. Usamos Git, al que normalmente se accede a través de IntelliJ, aunque la línea de comandos también está bien.
Este estudiante tiene la intención de implementar sus múltiples versiones del proyecto en tres carpetas para que se pueda acceder a cada versión con direcciones URL como:
http://<IP Address>/V1/index.html http://<IP Address>/V2/index.html etc.Después de probar varias cosas que parecían funcionar, terminamos usando un proceso engorroso creando nuevos proyectos temporales y revisando versiones históricas para obtener compilaciones de versiones históricas completas.
Para la próxima vez, y para ayudarnos a mí y a mi estudiante a aprender mejor Git... ¿No hay una manera más fácil de obtener una versión anterior sin retroceder o crear nuevas ramas, etc.? ¿Hay alguna manera de simplemente decir "Exportarme una copia del código a partir de la confirmación n.º 37"?
Gracias de antemano por cualquier ayuda.
Para acciones de confirmación estándar:
Si desea volver a confirmar X, puede escribir git checkout commitSha .
Donde commitSha está representado por un número como: 3a38e644314f73d4082a00dc29de39e9d3ae3357 , siempre puede revertir esto usando git reset --hard [que restablece su historial].
También puede usar git reset que cambia su historial con git reset --hard commitSha , también puede retroceder X cantidad de confirmaciones al pasado con git reset --hard HEAD~1 para actualizar su historial, puede usar git pull
Aquí hay 2 enlaces con un poco más de información sobre esos 2 comandos, que van con un poco más de detalles, espero que esta sea la respuesta que está buscando:
https://www.atlassian.com/git/tutorials/undoing-changes/git-reset
https://www.atlassian.com/git/tutorials/using-branches/git-checkout
EDITAR [lanzamientos]:
Probablemente lo que necesite sean lanzamientos, pueden contener sus instantáneas de la aplicación que está creando, haciendo que todas las versiones sean fácilmente accesibles, un poco más de información aquí
https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
La respuesta de Wersjon tiene información correcta, pero quería simplificar para este caso específico donde la intención no es deshacer o retroceder. Y donde no se desea crear sucursales o lanzamientos. Para cuando solo desea una instantánea de su compilación/código anterior:
TL;RD
Más detalles : en IntelliJ IDEA, las funciones "Git Log" e "Historial" presentan una lista similar de confirmaciones de proyectos. Sin embargo, tienen una funcionalidad contextual diferente. Si ha accedido a la lista de confirmaciones a través de "Historial", no existe la opción contextual "Pagar". Sin embargo, hay una opción "Obtener" que hace mucho más de lo que desea si está buscando una instantánea de una versión histórica. Si solo desea una instantánea de su código, no use "Historial" y no use "Obtener".
Sin embargo, desde el menú contextual (generalmente, haga clic con el botón derecho) de cualquier confirmación en la vista de Git Log de IntelliJ, puede elegir "Revisar" para obtener versiones anteriores de su trabajo sin que se interprete como una reversión o una nueva ramificación, etc. .