• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

git... to the rescue

ROOT

Technik/Software Forum, Casino Port Zion
Mitglied seit
17.11.2002
Beiträge
7.052
Reaktionen
38
Ort
MS
Jo mit CVS und SVN bin ich seinerzeit immer gut zurecht gekommen, aber für git stell ich mich bisher einfach zu blöd an. :8[:

Frage 1), das deutlich wichtigere:
Was ich gemacht hab: Eine Reihe Commits, sagen wir mal 10 Stück [1]-[10], [10] ist der letzte.
Nun war das was ich in [10] eingebaut hatte fehlerhaft und ich wollte zur letzten funktionierenden Revision [7] zurück. Was ich also gemacht hab war git reset --hard [7].

Hat soweit funktioniert, hab die funktionierende [7]er Version auf der Platte, weiß ungefähr wo die Fehler liegen, und muss nun wieder zur aktuellesten [10] zurück um die Fehler korrigieren zu können.
Jetzt hab ich aber wohl durch obigen Befehl den HEAD ebenfalls auf Revision [7] gestellt. Zudem weiß ich nicht mehr welche SHA der [10]er Commit hatte.
git log / gitk zeigen mir auch nur die Commits [1]-[7] an und hören dann auf.

Wtf, ich muss doch irgendwie wieder an den [10]er drankommen? Jemand eine Idee?

Frage 2:, nicht ganz so entscheidend
Ich bin bei den Commits [1]-[5] immer im Branch master gewesen. Ab dann hab ich jedoch irgendwie gar keinen Branch mehr. git status sagt mir "Not currently on any branch", und im gitk steht bei "Branch:" gar nix. Was ist denn da jetzt passiert? Hab ich hier sone Art unnamed Branch? Kann ich den wieder zu master zurückmergen?

Hoffe irgendwer kann mir helfen :dead:
 
Mitglied seit
02.09.2002
Beiträge
3.281
Reaktionen
106
Was ich also gemacht hab war git reset --hard [7].

[…]

Wtf, ich muss doch irgendwie wieder an den [10]er drankommen? Jemand eine Idee?
git reset --help schrieb:
--hard
Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded.
:top2:

backup?

Ich bin bei den Commits [1]-[5] immer im Branch master gewesen. Ab dann hab ich jedoch irgendwie gar keinen Branch mehr. git status sagt mir "Not currently on any branch", und im gitk steht bei "Branch:" gar nix. Was ist denn da jetzt passiert? Hab ich hier sone Art unnamed Branch? Kann ich den wieder zu master zurückmergen?
Was sagt git branch?
 

ROOT

Technik/Software Forum, Casino Port Zion
Mitglied seit
17.11.2002
Beiträge
7.052
Reaktionen
38
Ort
MS
Nein ich hab kein Backup. Ich war der Meinung sobald man commited hat kommen die Sachen nicht mehr weg. Es ist jetzt nicht wahnsinnig schlimm weil sich bei den jetzt wohl verlorenen Commits nicht viel getan hat, aber ich verstehs dann irgendwie überhaupt nicht mehr.

Vorher hab ich git reset ohne --hard gemacht, und im lokalen Verzeichnis hat sich überhaupt nichts geändert. Wie geh ich denn dann lokal zu einer alten Revision zurück ohne den Index zu ändern?


git branch sagt:
Code:
* [color=green](no branch)[/color]
   master
 
Mitglied seit
02.09.2002
Beiträge
3.281
Reaktionen
106
git checkout HEAD~n

git reset ist zum _löschen_ von commits. --soft löscht die commits, ohne sozusagen die änderungen an den Dateien zu löschen, --hard ist die Axt.

Zu den branches … öh - uhm … keine Ahnung. git checkout master?
 

ROOT

Technik/Software Forum, Casino Port Zion
Mitglied seit
17.11.2002
Beiträge
7.052
Reaktionen
38
Ort
MS
Ok, danke... werd mich hüten das git-reset nochmal zu benutzen :ugly:
wofür steht das ~n ?

wegen der branches: hab diesen unnamed branch jetzt explizit als branch benannt (git checkout -b obsoletebranch) und anschließend mit master gemerged. Etwas seltsam, aber mein nächster Commit sollte dann wieder im master landen.
 
Mitglied seit
02.09.2002
Beiträge
3.281
Reaktionen
106
HEAD is der aktuelle commit, HEAD~1 der davor, HEAD~2 der 2 davor, …
 

ROOT

Technik/Software Forum, Casino Port Zion
Mitglied seit
17.11.2002
Beiträge
7.052
Reaktionen
38
Ort
MS
weiß nicht wie mir das jetzt direkt helfen soll, wenn ich mit git alleine schon halb überfordert bin brauch ich ja nicht noch zusätzliche services wie wikis, activity monitoring etc.

zudem arbeite ich ich zwar nicht alleine an dem projekt, bin aber leider der einzige der VCS benutzt, bleibt letztlich also trotzdem alles lokal bei mir.
 
Oben