Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Git - SourceTree - alten Quelltext auschecken (https://www.delphipraxis.net/203368-git-sourcetree-alten-quelltext-auschecken.html)

Incocnito 11. Feb 2020 17:14


Git - SourceTree - alten Quelltext auschecken
 
Hallo Zusammen,

ich habe privat die Quellen von mir und einem gutem Kollegen per git & SourceTree verwaltet
und habe nun einen Bug, der zwar nachvollziehbar ist, aber an einer Stelle passiert,
wo es augenscheinlich keinen Sinn ergibt. Ich denke, dass ich irgendwo anderes
was kaputt gemacht habe und das erst später Auswirkungen zeigt.
Nun denke ich, dass ich doch einfach mal die Version des Quelltextes zurück stellen kann
(auf die Version von Anno dazumal) und mal schauen, ab welcher Änderung das nicht mehr
geht / der Fehler auftritt.
Nun nutzen wir allerdings von Git/SourceTree gerade mal einen Bruchteil der Funktionen.
Wir haben beide kaum eine Ahnung, wie das alles funktioniert und bisher ist das auch
mehr so ein "das was wir brauchen kann es, mehr interessiert uns nicht".
Daher wollte ich hier mal fragen, was genau ich machen muss, bevor ich da was kaputt mache.
Ich möchte auf meinem Rechner die Quellen auf eine ältere Version zurück stellen ohne
die Quellen auf dem Server (im Git-Repository) oder die meines Kollegen zu verändern.
Ich denke (gefährliches Halbwissen) die richtige Funktion wäre "auschecken".
Leider verwenden die Anleitungen, die ich so spontan gefunden habe Fachbegriffe,
die wohl ein gewisses Basiswissen benötigen, was wir beide nicht haben.

Bei dieser Gelegenheit vielleicht mal gefragt: Wisst ihr eine Stelle,
wo man mit Null Vorwissen eine kinderleichte Erklärung für Git & SourceTree bekommt?
Wobei: Ich wollte nun weniger auf der Konsole mit git rumwerkeln, sondern wirklich nur wie
das Ganze in SourceTree funktioniert. Was machen die Funktionen? Einfache Beispiele.
Was passiert warum?

Vielen Dank schonmal für die Mühe! Ich weiß, das Ganze klingt etwas nach
"bevor ich mir selbst Mühe gebe frage ich einfach", aber ich bin für die
bisher gefundenen Anleitungen einfach zu doof und gerade in diesem Fall zu unsicher.

[Edit: Ich sehe gerade: das hätte nach "Sprachen und Entwicklungsumgebungen" -> "Andere Werkzeuge" gemusst! Sorry!]

Liebe Grüße
Incocnito

DP-Maintenance 11. Feb 2020 17:34

Dieses Thema wurde am "11. Feb 2020, 17:34 Uhr" von "Luckie" aus dem Forum "Programmieren allgemein" in das Forum "Sonstige Werkzeuge" verschoben.

himitsu 11. Feb 2020 18:13

AW: Git - SourceTree - alten Quelltext auschecken
 
Reset müsste die Funktion sein, um zu einer bestimmten Revision zurückzugehn. (im SVN nennt die sich netter Weise "update to revision")

Local Repository (alte Revisionen) -> Reset commit-id -> Working Directory (die gewählte Revision)

Nja, wenn es ordentlich versioniert ist, dann kann ja nichts kaputt gehn, egal was du machst ... kannst ja immer wieder zu einem alten Stand zurück.


Es gibt ein paar nette Kurzübersichten über die wichtigsten Funktionen.
https://www.jrebel.com/blog/git-cheat-sheet (das Bild lässt sich auch gut auf A4 ausdrucken und neben den Monitor hängen)
https://dev.to/maxpou/git-cheat-sheet-advanced-3a17
https://github.github.com/training-k...heat-sheet.pdf
https://medium.com/@isamarietr/git-c...t-5c27a42f2c1a
Bei Google suchengit cheat sheet ...

Es gibt auch GUIs ala Tortoise-Git, da kannst im Log auf auf was gegen und einfach im Kontextmenü rumstöbern, bis sich was Passendes findet, wie z.B.
Delphi-Quellcode:
reset "master" to this
.
Auch wenn viele Linux-Gurus dir sagen werden GUI böse ... Console gut. :stupid:

Sherlock 12. Feb 2020 07:53

AW: Git - SourceTree - alten Quelltext auschecken
 
Das wichtigste zuerst: Wenn es committed ist und sogar auf den Server gepusht wurde, dann kann nichts kaputt gehen.
SourceTree sagt in der englischen Version zu dem gewünschten Schritt (eine ältere Revision benutzen) "Update to...". Das ist meiner Meinung nach eine der Grundfunktionen. Gratuliere, daß Ihr das bisher nicht gebraucht habt, spricht für Euren Code.

Ausgehend von hier https://confluence.atlassian.com/get...ith-sourcetree empfehle ich (nochmal) einen kurzen bis mittel langen Blick in die wirklich gute Doku von SourceTree zu werfen.

Sherlock

TigerLilly 12. Feb 2020 08:07

AW: Git - SourceTree - alten Quelltext auschecken
 
Und: Leg ein Testprojekt an + probier an dem die Funktionen aus. Dann kannst du auch mal was zerstören (ja, das geht auch mit einem VCS) + du musst dich nicht erschießen. :- )

Stevie 12. Feb 2020 10:29

AW: Git - SourceTree - alten Quelltext auschecken
 
git bisect

freimatz 12. Feb 2020 16:06

AW: Git - SourceTree - alten Quelltext auschecken
 
Zitat:

Zitat von Sherlock (Beitrag 1457218)
Das wichtigste zuerst: Wenn es committed ist und sogar auf den Server gepusht wurde, dann kann nichts kaputt gehen.

:shock: Doch natürlich. Gerade mit dem vorgeschlagenen reset - wenn es dem git reset entspricht.
Wenn ich z.B. den branch "master" habe und 10 commits und der master zeigt auf den letzten commit also #10. Wenn man dann einen reset auf commit #5 macht, dann zeigt der master auf #5. Commit #6 bis #10 sind dann weg. Zuerst nur optisch, wenn sie nirgendwo mehr gebraucht werden, also auch nicht im sogenannten ref log sind sie nach dem nächsten pack (git gc) wirklich weg.

Ich schlage vor auf den alten Stand einen neuen branch zu erzeugen und diesen auszuchecken.

Aviator 12. Feb 2020 21:09

AW: Git - SourceTree - alten Quelltext auschecken
 
Zitat:

Zitat von freimatz (Beitrag 1457291)
Ich schlage vor auf den alten Stand einen neuen branch zu erzeugen und diesen auszuchecken.

That's the way to go. Zumindest habe ich beim Lernen von GIT vor einigen Jahren es immer wieder so gelesen. Und es ist m.M.n. auch die sicherste Variante. Und wenn ich sehe, dass ich auf den falschen Commit zurück gegangen bin, dann kann ich den Branch einfach löschen und den anderen Commit auschecken. Mit reset sollte man nur arbeiten, wenn man Änderungen rückgängig machen will.

Stevie 12. Feb 2020 22:44

AW: Git - SourceTree - alten Quelltext auschecken
 
Zitat:

Zitat von freimatz (Beitrag 1457291)
Zuerst nur optisch, wenn sie nirgendwo mehr gebraucht werden, also auch nicht im sogenannten ref log sind sie nach dem nächsten pack (git gc) wirklich weg.

Auch wenn ich zustimme, nen Branch oder nen Tag vom aktuellen Stand anzulegen, stimmt das nicht.
Das ref log hat eine Verfallsdauer von 90 Tagen als Default. Da haut auch nen standard git gc nix weg von.
Dafür musst schon explizit nen git reflog expire now aufrufen.

Siehe https://git-scm.com/docs/git-gc

Sherlock 13. Feb 2020 09:14

AW: Git - SourceTree - alten Quelltext auschecken
 
Also wenn git es tatsächlich erlaubt, mit simplen Befehlen das Repository derart zu zerstören, daß Commits auch auf dem Server entfernt werden können, dann bin ich froh bei Mercurial geblieben zu sein. Wollte zwar wegen meinem lokalen BitBucket auf Git umsteigen, aber mit hg-git komme ich dann weiterhin bestens zurecht.

Bei der Entscheidungsfindung hg oder git kam mir immer wieder mal das Grausen, was die git-Entwickler so für notwendig hielten...

Und was ist eigentlich dieses "auschecken"? Hg und git brauchen sowas doch gar nicht. Man Updatet auf einen Stand und wenn man fertig ist, wird gemerged und commite, oder meinetwegen ein Pull-Request geschickt.

Sherlock


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:43 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf