X-Post
Zur Vorgeschichte muss ich sagen, dass ich biserh mit svn und cvs mit Hilfe des grandiosen TortaisSVN/CVS Clients gearbeitet habe. Da muss man nicht viel denken.
Mit dem git-Konzept komme ich noch nicht klar. Ich nutze es im Testbetrieb ohne Server und mit QGit als Oberfläche.
QGit zeigt mir bisher die meisten Informationen im Vergleich zu anderen Oberflächen an. Dennoch sehe ich keine konkrete Möglichkeit "frühere Versionen auszuchecken".
Ich möchte z.B. drei Versionen zurückspringen, ohne die nachfolgenden Versionen dabei zu verlieren. Wahlweise möchte ich die "nachfolgenden Versionen" auch killen und die Version, auf welche ich zurückgesprungen bin, als die aktuelle letzte Version behandeln. Wie ist das machbar? Was sieht git hier als Konzept vor?
[git] einige Versionen zurückspringen
Re: [git] einige Versionen zurückspringen
gitk kann das, bei qgit hab ichs nie probiert. Im Prinzip sieht der Ablauf so aus:
1. Ermitteln der gewünschten Revision (in gitk oder in "git log" rausfischen)
2a. auf den Stand zurückspringen: git reset --hard revisionshash oder
2b. die alte Revision auschecken: git checkout revisionshash (Ergebnis nicht commitbar, muss zwangsläufig in einen anderen branch überführt werden)
3. einen Branch zum parallelen weiterarbeiten erstellen: git branch neuername
Bei 2a daran denken, nach Schritt 3 im Originalbranch wieder auf HEAD zu wechseln. gitk macht standardmäßig 2a (und fragt nach --soft oder --hard) (Rechtsklick auf die Revision, den Wortlaut weiß ich gerade nicht, aber du siehst das dann schon).
1. Ermitteln der gewünschten Revision (in gitk oder in "git log" rausfischen)
2a. auf den Stand zurückspringen: git reset --hard revisionshash oder
2b. die alte Revision auschecken: git checkout revisionshash (Ergebnis nicht commitbar, muss zwangsläufig in einen anderen branch überführt werden)
3. einen Branch zum parallelen weiterarbeiten erstellen: git branch neuername
Bei 2a daran denken, nach Schritt 3 im Originalbranch wieder auf HEAD zu wechseln. gitk macht standardmäßig 2a (und fragt nach --soft oder --hard) (Rechtsklick auf die Revision, den Wortlaut weiß ich gerade nicht, aber du siehst das dann schon).
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: [git] einige Versionen zurückspringen
Ok, das funktiniert mehr oder weniger erstmal.
Mein Grundproblem ist, dass ich mich da insgesamt sehr unsicher fühle. Es fühlt sich alles anders an als CVS/SVN mit schicker Windows-GUI.
Ich lese Doku und im Grunde ist mir die Funktsweise von Git auch klar. Aber das gibt mir in der täglichen Anwendung keine Sicherheit. Und immerhin geht es ja um meine Daten. Und git eigenet sich ja auch wunderbar dazu, bei falscher Anwendung alles über den Jordan zu jagen.
Kennt ihr vielleicht ein DAU-taugliches Tutorial oder ein Git-for-SVN-users-tutorial?
Mein Grundproblem ist, dass ich mich da insgesamt sehr unsicher fühle. Es fühlt sich alles anders an als CVS/SVN mit schicker Windows-GUI.
Ich lese Doku und im Grunde ist mir die Funktsweise von Git auch klar. Aber das gibt mir in der täglichen Anwendung keine Sicherheit. Und immerhin geht es ja um meine Daten. Und git eigenet sich ja auch wunderbar dazu, bei falscher Anwendung alles über den Jordan zu jagen.
Kennt ihr vielleicht ein DAU-taugliches Tutorial oder ein Git-for-SVN-users-tutorial?
- schorsch_76
- Beiträge: 2601
- Registriert: 06.11.2007 16:00:42
- Lizenz eigener Beiträge: MIT Lizenz
Re: [git] einige Versionen zurückspringen
Zu meiner Frage eine "Antwort". https://www.atlassian.com/de/git/tutori ... ng-changes
Grundsätzlich ist das Tutorial unter diesem Link sehr zu empfehlen.
Grundsätzlich ist das Tutorial unter diesem Link sehr zu empfehlen.
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: [git] einige Versionen zurückspringen
Kommt halt drauf an was du genau machen willst. Ich benutze sehr oft git rebase -i HEAD~10 um z.B. die letzten 10 commits zu editieren (commit messages aufräumen, einzelne commits zusammenführen, entfernen, umsortieren, etc). Sollte History-Umschreibaktionen sollte man natürlich nur machen, wenn man die Commits nicht schon irgendwo veröffentlicht hat.
Ganz allgemein: Wenn du in Git Angst hast durch irgend eine Aktion Daten zu vernichten oder dich sonstwie zu verirren, mach einfach vorher einen Backup-Branch (git branch backup_20140312), dann kommst du in jedem Fall wieder dahin zurück wo du vorher warst... - und wenn alles gut ging löschst du den auch gleich wieder git branch -d backup_20140312....
MfG Peschmä
Ganz allgemein: Wenn du in Git Angst hast durch irgend eine Aktion Daten zu vernichten oder dich sonstwie zu verirren, mach einfach vorher einen Backup-Branch (git branch backup_20140312), dann kommst du in jedem Fall wieder dahin zurück wo du vorher warst... - und wenn alles gut ging löschst du den auch gleich wieder git branch -d backup_20140312....
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy