[Git] Van 3 commits eentje maken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
Hallo iedereen

Ik ben een beetje aan het experimenteren met Git en ik heb volgend probleem: mijn allereerste en derde commit is helemaal fout. Ik heb een hoop commando's uitgevoerd zoals: git rebase, git reset,... maar niets helpt. Hoe kan ik nu de allereerste en de derde commit mergen in de tweede commit? (=squash, niet?) Ik heb totaal geen ervaring met de vi editor dus ik weet nog niet eens hoe ik een lijn verander. Kan iemand mij zeggen hoe ik de eerste en derde commit "squash" in de tweede?

Alvast bedankt!
Nickmans Rob

Acties:
  • +1 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Nu online

BCC

Het korte antwoord is: niet doen. Gewoon laten staan en doorwerken. Je kan met interactive rebase je commits squashen maar als je met meer mensen aan een project werkt, dan hebben zij een probleem en raken mogelijk code kwijt.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • jeroen3
  • Registratie: Mei 2010
  • Laatst online: 17:04
Staan de commits in een losse branch?

Acties:
  • +1 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 07-10 16:34
Zijn de commits gepushed naar een remote of bestaan ze alleen nog bij jou lokaal?

Eerste geval; niet doen
Tweede geval; rebase

Als je Vim en de command-line niet machtig bent, installeer dan een GUI zoals Sourcetree of TortoiseGit.

Acties:
  • 0 Henk 'm!

  • Swedish Clown
  • Registratie: November 2010
  • Laatst online: 10-04 22:41

Swedish Clown

Erlang <3

Hoezo zou het een probleem zijn of zijn commits remote staan of niet. Tenzij de branch door andere wordt gebruikt, kam je squashen tot je een ons weegt.

Zelfs als anderen de branch delen kunnen er redenen zijn om toch te squashen en de ander een hard reset te laten uitvoeren.

Zolang je met zorg handelt, snap ik alle paniek rondom squashen nooit zo.

Neem voorbeeld, ik heb een PR open staan met 6 commits. 4 zijn development commits, 2 zijn review fix commits. Indien gewenst, kan ik prima die 2 review commits squashen dan wel mergen in één van mijn eerdere commits. Niks mis mee, niemand heeft er last van en het voorkomt een hoop bullshit commits in de historie van de master branch.

Afhankelijk van je editor, is er een goede kans dat er git integratie in zit. Weet dat je de default editor altijd kunt wijzigen met:
Bash:
1
$ git config --global core.editor emacs


(In mijn geval Emacs maar andere opties zijn uiteraard mogelijk)

[ Voor 10% gewijzigd door Swedish Clown op 25-09-2017 22:21 ]

Always looking for developers wanting to work with Erlang.


Acties:
  • +3 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 11:40

Bosmonster

*zucht*

BCC schreef op maandag 25 september 2017 @ 21:23:
Het korte antwoord is: niet doen. Gewoon laten staan en doorwerken. Je kan met interactive rebase je commits squashen maar als je met meer mensen aan een project werkt, dan hebben zij een probleem en raken mogelijk code kwijt.
Uitgebreider antwoord: Wel doen, maar zorg dat je via een fork/branch werkt aan features, zodat je vrij bent om je commits te organiseren tot een goede PR.

Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Nu online

BCC

Brakkie41 schreef op maandag 25 september 2017 @ 22:18:
Hoezo zou het een probleem zijn of zijn commits remote staan of niet. Tenzij de branch door andere wordt gebruikt, kam je squashen tot je een ons weegt.
"Als je weet wat je doet, dan is er geen probleem" is natuurlijk waar, maar zeker aangezien de TS duidelijk nieuw is op dit vlak misschien niet handig.
Bosmonster schreef op maandag 25 september 2017 @ 23:00:
[...]
Uitgebreider antwoord: Wel doen, maar zorg dat je via een fork/branch werkt aan features, zodat je vrij bent om je commits te organiseren tot een goede PR.
In projecten met veel devs gebeurt het vrij snel dat iemand jou branch als startpunt pakt, dus dan gaan er dingen stuk als je dat doet. Het kan niet voor niets uitgezet in Gitlab en Github.

[ Voor 38% gewijzigd door BCC op 26-09-2017 10:15 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • +1 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 11:00

P_Tingen

omdat het KAN

BCC schreef op dinsdag 26 september 2017 @ 10:13:
[...]
In projecten met veel devs gebeurt het vrij snel dat iemand jou branch als startpunt pakt, dus dan gaan er dingen stuk als je dat doet. Het kan niet voor niets uitgezet in Gitlab en Github.
Dat is precies de reden waarom er bij ons lijfstraffen staan op het branchen vanaf een branch (anders dan dev of master uiteraard)

@BCC waar kun je in GitLab instellen dat je alleen van bepaalde branches kan branchen?

Overigens, zoals ik het verhaal van TS lees, heeft hij 3 commits op 1 branch (beetje aanname van mij). Waarbij hij de 1e en 3e heeft verkloot. Als dit zo is, zou ik de eerste laten staan en de 3e terugdraaien door de [HEAD] 1 commit terug te zetten (link)

[ Voor 33% gewijzigd door P_Tingen op 26-09-2017 13:12 ]

... en gaat over tot de orde van de dag


Acties:
  • 0 Henk 'm!

  • NiRo
  • Registratie: December 2016
  • Laatst online: 04-09 20:59
Bji mij staat de commit natuurlijk al in de master branch dus de branch deleten is geen optie. Er zijn nog geen contributors of followers dus ik kan alles doen wat ik wil, niemand gaat er last van hebben. Ik heb ze al gepusht naar GitHub dus ik heb er niets aan om ze lokaal nog te veranderen.

EDIT: Het is mij gelukt door deze forum post. Toch bedankt voor alle reacties!

[ Voor 51% gewijzigd door NiRo op 26-09-2017 20:13 ]

Pagina: 1