Es gibt ein paar Fragen in diesem Beitrag, hier sind meine Antworten:
Um ein vorheriges Commit zu "klonen", können Sie zunächst Folgendes tun:
git clone REPO_URL
git checkout HEAD~1 // checks out the last commit's first parent
Verwenden Sie ~1diese Option, um auf das erste übergeordnete Element des letzten Commits zuzugreifen, und erhöhen Sie die Zahl, um das übergeordnete Element des übergeordneten Elements abzurufen. Mehr zur Tilde- und Caret-Notation .
Die beiden obigen Befehle versetzen Sie in einen getrennten HEAD-Zustand, der je nach Kontext wichtig sein kann oder nicht. Zum Beispiel ist es nicht wichtig, ob Sie als Teil Ihrer Bereitstellungsskripte klonen und sich nur um den Zugriff auf ein vorheriges Commit kümmern (z. B. als Teil einer Rollback-Strategie).
Wenn Sie ab diesem Zeitpunkt in der Geschichte mit der Arbeit beginnen müssen, können Sie sie ausführen
git checkout -b NEW_BRANCH_NAME
Eine gute Git-GUI? Für mich ist SourceTree das Beste.
Was sind Filialen? In meinen eigenen Worten ist ein Zweig nur eine sehr einfache Möglichkeit, sich zu drehen. Angenommen, Sie arbeiten an einem Zweig masterund möchten ein Experiment durchführen. Einfach, einfach git checkout -b experimentund Sie sind schnell an einem sicheren Ort, um Dinge zu zerbrechen.
Was ist anders zwischen git und svn?
git ist ein verteiltes Versionskontrollsystem . svn ist nicht. Auch das Verzweigen (oben erwähnt) ist in Git einfacher.
Zum Markieren weiß ich nicht, ob es "One True Way" gibt (gibt es jemals?), Aber erkunde einfach den git tagBefehl. Eine großartige Sache bei git ist, wie einfach es ist, ein Duplikat Ihres Repos auf Ihrem lokalen Computer (oder wo auch immer) zu klonen und zu tun, was Sie wollen, und zu sehen, was passiert. Wenn Sie etwas vermasseln, löschen Sie einfach das Verzeichnis. Sie können also git tagin einem Testverzeichnis experimentieren und sehen, was Ihnen gefällt.