Hay algunas preguntas en este post, aquí es mi opinión sobre algunas respuestas:
En primer lugar, "clonar" la confirmación anterior, se puede hacer algo como esto:
git clone REPO_URL
git checkout HEAD~1 // checks out the last commit's first parent
Uso ~1
para acceder al primer padre del último compromiso, e incrementar el número para obtener el padre del padre, y así sucesivamente. More on tilde and caret notation.
Los dos comandos anteriores lo colocarán en un estado HEAD separado, que puede o no ser importante según el contexto. Por ejemplo, no es importante si está clonando como parte de sus scripts de implementación y lo único que le importa es acceder a una confirmación previa (por ejemplo, como parte de una estrategia de reversión).
Si usted necesita para empezar a trabajar desde este punto de la historia, puede ejecutar
git checkout -b NEW_BRANCH_NAME
Una buena interfaz gráfica de usuario git? Para mí SourceTree es el mejor.
¿Qué son las sucursales? En mis propias palabras, una rama es solo una manera muy fácil de pivotar. Digamos que está trabajando en una rama, master
y quiere probar un experimento. Fácil, solo git checkout -b experiment
y estás rápidamente en un lugar seguro para romper cosas.
¿Qué hay de diferente entre git y svn?
git es un distribute version control system. svn no es. Además, la ramificación (mencionada anteriormente) es más fácil en git.
Para etiquetar, no sé si existe "One True Way" (¿hay alguna vez?) Pero simplemente explore el comando git tag
. Una gran cosa acerca de git es lo fácil que es clonar un duplicado de su repositorio en su computadora local (o donde sea) y hacer lo que quiera y ver qué sucede. Si estropea algo, simplemente elimine el directorio. Entonces, puedes experimentar con git tag
en algún directorio de prueba y ver qué te gusta.
En realidad, la última pregunta SO "cuál de los dos es mejor: git o SVN" se ha eliminado. Lo he copiado en una respuesta anterior: http://stackoverflow.com/questions/161541/svn-vs-git/2549128#2549128 – VonC
para hurgar temporalmente en una confirmación antigua sin crear una nueva rama: 'git checkout SHA1' , y luego si decides mantenerlo: 'git checkout -b aNewBranch' – rymo