Nochmal eine Frage zu GIT
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Nochmal eine Frage zu GIT
Ich hab einige Änderungen gemacht und diese auch commitet und per push auf den Server übertragen.
Nach einigen Tagen ist mir bewusst geworden, daß ich mehr verschlechtert als verbessert habe und hab per
git reset --hard <commitid> alles ab einem bestimmten commit in die Tonne geworfen.
Dann hab ich etwas vorsichtiger gehandelt und wieder neue commits erstellt.
Wenn ich das jetzt aber per git push auf den Server laden will, bekomme ich Fehlermeldungen und ich soll mir mit git pull den Mist erst wieder runterladen.
Ich konnte das beheben, indem ich in der config Datei des Repos unter [receive] die Option denyNonFastforwards von true auf false umgestellt hab und dann per git push -f
hochgeladen habe.
Gibt es eine Option, git zu sagen, vergiss bitte auch auf dem Server alle Änderungen ab commit xy?
Nach einigen Tagen ist mir bewusst geworden, daß ich mehr verschlechtert als verbessert habe und hab per
git reset --hard <commitid> alles ab einem bestimmten commit in die Tonne geworfen.
Dann hab ich etwas vorsichtiger gehandelt und wieder neue commits erstellt.
Wenn ich das jetzt aber per git push auf den Server laden will, bekomme ich Fehlermeldungen und ich soll mir mit git pull den Mist erst wieder runterladen.
Ich konnte das beheben, indem ich in der config Datei des Repos unter [receive] die Option denyNonFastforwards von true auf false umgestellt hab und dann per git push -f
hochgeladen habe.
Gibt es eine Option, git zu sagen, vergiss bitte auch auf dem Server alle Änderungen ab commit xy?
-
- Lazarusforum e. V.
- Beiträge: 366
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 3.6, FPC 3.2.2)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
Re: Nochmal eine Frage zu GIT
Ja, so was geht, wenn es unbedingt sein muss. 
https://stackoverflow.com/questions/133 ... m-a-branch
cu tb

https://stackoverflow.com/questions/133 ... m-a-branch
cu tb
Tipp für PostgreSQL: www.pg-forum.de
- photor
- Beiträge: 507
- Registriert: Mo 24. Jan 2011, 21:38
- OS, Lazarus, FPC: Arch Linux: L 3.2 (Gtk2) FPC 3.2.2
- CPU-Target: 64Bit
Re: Nochmal eine Frage zu GIT
Moin,
Vorsicht bitte. Ich bin KEIN Git-Spezialist. Nutze das auch nur privat.
Wäre es eine eine Option, die neuen Änderungen als einen neuen Branch (z.B. "Develop") zu speicher? Dann sollten beide Varianten im Repo zu finden (und auscheckbar) sein. Anschließend setzt du den Master-Branch auf diesen neuen Zweig und entwickelst da weiter.
Ciao,
Photor
Vorsicht bitte. Ich bin KEIN Git-Spezialist. Nutze das auch nur privat.
Ich würde auch mein Git-Repo nicht leichtfertig "säubern" - auf das, was drin steht, kann man immer mal wieder zugreifen. Weg ist dagegen weg..fliegermichl hat geschrieben: Fr 22. Mär 2024, 08:52 Ich hab einige Änderungen gemacht und diese auch commitet und per push auf den Server übertragen.
Nach einigen Tagen ist mir bewusst geworden, daß ich mehr verschlechtert als verbessert habe und hab per
git reset --hard <commitid> alles ab einem bestimmten commit in die Tonne geworfen.
Dann hab ich etwas vorsichtiger gehandelt und wieder neue commits erstellt.
Wenn ich das jetzt aber per git push auf den Server laden will, bekomme ich Fehlermeldungen und ich soll mir mit git pull den Mist erst wieder runterladen.
Ich konnte das beheben, indem ich in der config Datei des Repos unter [receive] die Option denyNonFastforwards von true auf false umgestellt hab und dann per git push -f
hochgeladen habe.
Gibt es eine Option, git zu sagen, vergiss bitte auch auf dem Server alle Änderungen ab commit xy?
Wäre es eine eine Option, die neuen Änderungen als einen neuen Branch (z.B. "Develop") zu speicher? Dann sollten beide Varianten im Repo zu finden (und auscheckbar) sein. Anschließend setzt du den Master-Branch auf diesen neuen Zweig und entwickelst da weiter.
Ciao,
Photor
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Nochmal eine Frage zu GIT
Wen man mal versehentlich eine Datei auf github rauf lädt, welche niemanden was angeht. Kann man diese einte Datei löschen, ohne das man einen knallharten "git reset --hard <commitid>" machen muss ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Nochmal eine Frage zu GIT
Hallo,
Damit bleibt die gesamte Geschichte gespeichert, und man kann später auch darauf zurückgreifen.
solange es keinen dringenden Grund gibt, Dateien unwiderruflich löschen zu müssen (etwa aufgrund eines Datenlecks), braucht man in solchen Fällen keinen Hard-Reset durchzuführen. Es reicht, einfach zu dem entsprechenden Commit zurückzuspringen:fliegermichl hat geschrieben: Fr 22. Mär 2024, 08:52 Ich hab einige Änderungen gemacht und diese auch commitet und per push auf den Server übertragen.
Nach einigen Tagen ist mir bewusst geworden, daß ich mehr verschlechtert als verbessert habe und hab per
git reset --hard <commitid> alles ab einem bestimmten commit in die Tonne geworfen.
Code: Alles auswählen
git revert <Commit Hash>
Ja, auch das geht. Schau mal hier: https://stackoverflow.com/questions/351 ... ts-historyMathias hat geschrieben: Fr 22. Mär 2024, 17:28 Wen man mal versehentlich eine Datei auf github rauf lädt, welche niemanden was angeht. Kann man diese einte Datei löschen, ohne das man einen knallharten "git reset --hard <commitid>" machen muss ?
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Nochmal eine Frage zu GIT
Ja, da habe ich mir ein richtiges Ei gelegt.
Als ich mit git pull den aktuellen Stand auf einen anderen Rechner holen wollte, kamen Konflikte raus. Ich hab die dann dort korrigiert, comittet und wieder per push auf den Server geladen.
Dann habe ich diesen Stand per git pull auf meinen Entwicklungsrechner geholt und schon war der ganze Müll wieder da.
Wenn ich jetzt in die History schaue, laufen da mehrere Zweige nebeneinander her und ich weiss jetzt nicht, wie ich den Mist wieder rausbekomme. Wenn ich mit git checkout <sha von dem rechten save changes> diesen Stand auschecke, dann ist für einen Moment die Welt wieder in Ordnung.
Als ich mit git pull den aktuellen Stand auf einen anderen Rechner holen wollte, kamen Konflikte raus. Ich hab die dann dort korrigiert, comittet und wieder per push auf den Server geladen.
Dann habe ich diesen Stand per git pull auf meinen Entwicklungsrechner geholt und schon war der ganze Müll wieder da.
Wenn ich jetzt in die History schaue, laufen da mehrere Zweige nebeneinander her und ich weiss jetzt nicht, wie ich den Mist wieder rausbekomme. Wenn ich mit git checkout <sha von dem rechten save changes> diesen Stand auschecke, dann ist für einen Moment die Welt wieder in Ordnung.
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Nochmal eine Frage zu GIT
Bei meinem GIT Account ist auch etwas faul, obwohl ich fas täglich was uploade,, ist bei der Aktivität (grüne Klötchen) praktisch nichts zu sehen.
Da würde ich unbedingt schauen, das du eine saubere Code-Sammlung auf dem PC hast. Und notfalls alles neu hochladen.Dann habe ich diesen Stand per git pull auf meinen Entwicklungsrechner geholt und schon war der ganze Müll wieder da.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Nochmal eine Frage zu GIT
Ich habe jetzt eine Lösung gefunden. War zwar etwas mit der Keule aber das Ergebnis funktioniert.
man kann auf dem Server (Da ist ein bare Repository) den Index mittels
auf einen bestimmten commit setzen. Das habe ich außer bei master für alle beteiligten Branches gemacht.
Dann lokal mit
auf denselben commit.
Ab da war der Mist verschwunden.
Beim nächsten mal verwende ich besser die git revert Methode
man kann auf dem Server (Da ist ein bare Repository) den Index mittels
Code: Alles auswählen
git update-ref refs/heads/master <sha_id>
Dann lokal mit
Code: Alles auswählen
git reset --hard <sha_id>
Ab da war der Mist verschwunden.
Beim nächsten mal verwende ich besser die git revert Methode
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Nochmal eine Frage zu GIT
Dazu kann ich nichts sagen. Mein Remote Repository liegt auf einem eigenen Webserver und wird per git push/pull aktualisiert.Mathias hat geschrieben: Sa 23. Mär 2024, 08:53 Bei meinem GIT Account ist auch etwas faul, obwohl ich fas täglich was uploade,, ist bei der Aktivität (grüne Klötchen) praktisch nichts zu sehen.
Das hat also mit github nichts zu tun.