Il y a quelques questions dans ce post, voici mon avis sur quelques réponses:
D'abord, « clone » commit précédent, vous pouvez faire quelque chose comme ceci:
git clone REPO_URL
git checkout HEAD~1 // checks out the last commit's first parent
Utilisation ~1
pour accéder au premier parent du dernier commit, et incrémenter le nombre pour obtenir le parent du parent et ainsi de suite. More on tilde and caret notation.
Les deux commandes ci-dessus vous placent dans un état HEAD détaché, qui peut être important ou non selon le contexte. Par exemple, ce n'est pas important si vous clonez dans le cadre de vos scripts de déploiement et que tout ce qui vous intéresse est l'accès à un commit précédent (par exemple, dans le cadre d'une stratégie de restauration).
Si vous avez besoin pour commencer à travailler à partir de ce moment de l'histoire, vous pouvez exécuter
git checkout -b NEW_BRANCH_NAME
Une bonne interface graphique git? Pour moi SourceTree est le meilleur.
Que sont les branches? Dans mes propres mots, une branche est juste un moyen très facile de pivoter. Supposons que vous travaillez sur une branche, master
et que vous souhaitiez essayer une expérience. Facile, juste git checkout -b experiment
et vous êtes rapidement dans un endroit sûr pour casser des choses.
Qu'est-ce qui est différent entre git et svn?
git est un distribute version control system. svn ne l'est pas. En outre, le branchement (mentionné ci-dessus) est plus facile en git. Pour le balisage, je ne sais pas s'il y a "One True Way" (existe-t-il déjà?) Mais il suffit d'explorer la commande git tag
. Une bonne chose à propos de git est combien il est facile de cloner une copie de votre repo sur votre ordinateur local (ou ailleurs) et faire ce que vous voulez et voir ce qui se passe. Si vous gâchez quelque chose, supprimez simplement le répertoire. Ainsi, vous pouvez expérimenter avec git tag
dans un répertoire de test et voir ce que vous aimez.
En fait, la dernière question SO «laquelle des deux est la meilleure: git ou SVN» a été supprimée. Je l'ai copié à une réponse plus ancienne: http://stackoverflow.com/questions/161541/svn-vs-git/2549128#2549128 – VonC
pour fouiller temporairement dans un ancien commit sans faire de nouvelle branche: 'git checkout SHA1' et plus tard si vous décidez de le garder: 'git checkout -b aNewBranch' – rymo