* merging multiple commit into one?
@ 2009-05-11 13:21 jean-luc malet
2009-05-11 13:31 ` Andreas Ericsson
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: jean-luc malet @ 2009-05-11 13:21 UTC (permalink / raw)
To: git
Hi,
I often commit "useless" code, for example before going into weekend
or for saving some state during a dev process
often thoses commit are simply useless and the commit message looks
like "COMPILE ERROR - temporary save .... "
at the end I have LOT of theses commits that are useless and I want to
save some space/time/tree complexity merge multiple sequential commits
(without branch) into one
is it possible?
according to my knowledge of git, removing the commit and rewriting
the last commit log so that it better reflect the modification will do
the job but I'm not sure git allow it...
thanks
JLM
--
KISS! (Keep It Simple, Stupid!)
(garde le simple, imbécile!)
"mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses
simples et qui marchent, espèce d'imbécile!"
-----------------------------
"Si vous pensez que vous êtes trop petit pour changer quoique ce soit,
essayez donc de dormir avec un moustique dans votre chambre." Betty
Reese
http://www.grainesdechangement.com/citations.htm
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: merging multiple commit into one? 2009-05-11 13:21 merging multiple commit into one? jean-luc malet @ 2009-05-11 13:31 ` Andreas Ericsson 2009-05-11 13:50 ` Jakub Narebski 2009-05-11 21:29 ` Heiko Voigt 2 siblings, 0 replies; 10+ messages in thread From: Andreas Ericsson @ 2009-05-11 13:31 UTC (permalink / raw) To: jean-luc malet; +Cc: git jean-luc malet wrote: > Hi, > I often commit "useless" code, for example before going into weekend > or for saving some state during a dev process > often thoses commit are simply useless and the commit message looks > like "COMPILE ERROR - temporary save .... " > at the end I have LOT of theses commits that are useless and I want to > save some space/time/tree complexity merge multiple sequential commits > (without branch) into one > is it possible? > according to my knowledge of git, removing the commit and rewriting > the last commit log so that it better reflect the modification will do > the job but I'm not sure git allow it... > thanks git commit --amend; # to extend last commit only git merge --squash; # I think. Not sure though, so read the docs git rebase -i; # replace "pick" with "squash" to combine commits. -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 Register now for Nordic Meet on Nagios, June 3-4 in Stockholm http://nordicmeetonnagios.op5.org/ Considering the successes of the wars on alcohol, poverty, drugs and terror, I think we should give some serious thought to declaring war on peace. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-11 13:21 merging multiple commit into one? jean-luc malet 2009-05-11 13:31 ` Andreas Ericsson @ 2009-05-11 13:50 ` Jakub Narebski 2009-05-11 22:11 ` MALET Jean-Luc 2009-05-11 21:29 ` Heiko Voigt 2 siblings, 1 reply; 10+ messages in thread From: Jakub Narebski @ 2009-05-11 13:50 UTC (permalink / raw) To: jean-luc malet; +Cc: git jean-luc malet <jeanluc.malet@gmail.com> writes: > Hi, > I often commit "useless" code, for example before going into weekend > or for saving some state during a dev process > often thoses commit are simply useless and the commit message looks > like "COMPILE ERROR - temporary save .... " > at the end I have LOT of theses commits that are useless and I want to > save some space/time/tree complexity merge multiple sequential commits > (without branch) into one > is it possible? It is possible; one solution would be to use "git rebase --interactive" and its 'squash' command... > according to my knowledge of git, removing the commit and rewriting > the last commit log so that it better reflect the modification will do > the job but I'm not sure git allow it... ...but you can simply pick up where you saved snapshot by using "git commit --amend" (or doing soft or mixed reset to previous commit before comitting changes). -- Jakub Narebski Poland ShadeHawk on #git ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-11 13:50 ` Jakub Narebski @ 2009-05-11 22:11 ` MALET Jean-Luc 2009-05-11 22:36 ` Jakub Narebski 0 siblings, 1 reply; 10+ messages in thread From: MALET Jean-Luc @ 2009-05-11 22:11 UTC (permalink / raw) To: Jakub Narebski; +Cc: git Jakub Narebski wrote: > jean-luc malet <jeanluc.malet@gmail.com> writes: > > >> Hi, >> I often commit "useless" code, for example before going into weekend >> or for saving some state during a dev process >> often thoses commit are simply useless and the commit message looks >> like "COMPILE ERROR - temporary save .... " >> at the end I have LOT of theses commits that are useless and I want to >> save some space/time/tree complexity merge multiple sequential commits >> (without branch) into one >> is it possible? >> > > It is possible; one solution would be to use "git rebase --interactive" > and its 'squash' command... > > >> according to my knowledge of git, removing the commit and rewriting >> the last commit log so that it better reflect the modification will do >> the job but I'm not sure git allow it... >> > > ...but you can simply pick up where you saved snapshot by using "git > commit --amend" (or doing soft or mixed reset to previous commit > before comitting changes). > > hi! thanks for your answers! I didn't knew about --amend for commit, will certainly use it... however it seems that I get missunderstood... A-o-o-o-o-o-B-o-o-o-o-C \-o-o-D-/ let say I have the above tree, o are temporary unbuildable commits, A B C D are usable versions I want as posteriory remove the o to get the following tree A-B---C \-D/ in fact I just wanna clean a little my tree since I forgot to amend ;) is this possible? ok I know, the best is to prevent! not to cure! so I'll amend ;) thanks JLM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-11 22:11 ` MALET Jean-Luc @ 2009-05-11 22:36 ` Jakub Narebski 2009-05-12 15:59 ` jean-luc malet 0 siblings, 1 reply; 10+ messages in thread From: Jakub Narebski @ 2009-05-11 22:36 UTC (permalink / raw) To: MALET Jean-Luc; +Cc: git On Tue, 12 May 2009, MALET Jean-Luc wrote: > Jakub Narebski wrote: >> jean-luc malet <jeanluc.malet@gmail.com> writes: >>> I often commit "useless" code, for example before going into weekend >>> or for saving some state during a dev process >>> often thoses commit are simply useless and the commit message looks >>> like "COMPILE ERROR - temporary save .... " >>> at the end I have LOT of theses commits that are useless and I want to >>> save some space/time/tree complexity merge multiple sequential commits >>> (without branch) into one >>> is it possible? >> >> It is possible; one solution would be to use "git rebase --interactive" >> and its 'squash' command... ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> according to my knowledge of git, removing the commit and rewriting >>> the last commit log so that it better reflect the modification will do >>> the job but I'm not sure git allow it... >>> >> >> ...but you can simply pick up where you saved snapshot by using "git >> commit --amend" (or doing soft or mixed reset to previous commit >> before comitting changes). >> >> > hi! thanks for your answers! > I didn't knew about --amend for commit, will certainly use it... > however it seems that I get missunderstood... > A-o-o-o-o-o-B-o-o-o-o-C > \-o-o-D-/ > let say I have the above tree, o are temporary unbuildable commits, A B > C D are usable versions > I want as posteriory remove the o to get the following tree > A-B---C > \-D/ > in fact I just wanna clean a little my tree since I forgot to amend ;) > is this possible? > ok I know, the best is to prevent! not to cure! so I'll amend ;) As I wrote above, you can use interactive rebase to clean up history. -- Jakub Narebski Poland ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-11 22:36 ` Jakub Narebski @ 2009-05-12 15:59 ` jean-luc malet 0 siblings, 0 replies; 10+ messages in thread From: jean-luc malet @ 2009-05-12 15:59 UTC (permalink / raw) To: Jakub Narebski; +Cc: git hello seems that I don't use the right way.... I chechouted my lastest branch, then do a git rebase --interactive 9ce8f6940a50d87e4f6503ff237bd1b1ff560660 where 9ce8f6940a50d87e4f6503ff237bd1b1ff560660 is the commit I want to start... I modified the file and marked the commit I wanted to squash... and well it keep continue to find me conflicts.... even where there shall not be so I said I have to start from the root and rebase my branch on it.... created a branch on root, checkout it, git rebase --interactive b52ea8c36188b05de246d5717781ab90710078d5 huh?! nothing to do... ok fine so I tried to put branch just after the nodes I wanted to squash.... and git rebase --interactive thesha1rigthbeforewhatiwantedtosquash.... ah! here it works! huh?! well quite not! it replayed the range of commit fine, removed the squashed one... fine... but do created another independant branch... what I don't want I just want to remove a set inside the current tree so I'm not doing it right? thanks JLM On Tue, May 12, 2009 at 12:36 AM, Jakub Narebski <jnareb@gmail.com> wrote: > On Tue, 12 May 2009, MALET Jean-Luc wrote: >> Jakub Narebski wrote: >>> jean-luc malet <jeanluc.malet@gmail.com> writes: > >>>> I often commit "useless" code, for example before going into weekend >>>> or for saving some state during a dev process >>>> often thoses commit are simply useless and the commit message looks >>>> like "COMPILE ERROR - temporary save .... " >>>> at the end I have LOT of theses commits that are useless and I want to >>>> save some space/time/tree complexity merge multiple sequential commits >>>> (without branch) into one >>>> is it possible? > >>> >>> It is possible; one solution would be to use "git rebase --interactive" >>> and its 'squash' command... > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>>> according to my knowledge of git, removing the commit and rewriting >>>> the last commit log so that it better reflect the modification will do >>>> the job but I'm not sure git allow it... >>>> >>> >>> ...but you can simply pick up where you saved snapshot by using "git >>> commit --amend" (or doing soft or mixed reset to previous commit >>> before comitting changes). >>> >>> >> hi! thanks for your answers! >> I didn't knew about --amend for commit, will certainly use it... >> however it seems that I get missunderstood... >> A-o-o-o-o-o-B-o-o-o-o-C >> \-o-o-D-/ >> let say I have the above tree, o are temporary unbuildable commits, A B >> C D are usable versions >> I want as posteriory remove the o to get the following tree >> A-B---C >> \-D/ >> in fact I just wanna clean a little my tree since I forgot to amend ;) >> is this possible? >> ok I know, the best is to prevent! not to cure! so I'll amend ;) > > As I wrote above, you can use interactive rebase to clean up history. > > -- > Jakub Narebski > Poland > -- KISS! (Keep It Simple, Stupid!) (garde le simple, imbécile!) "mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses simples et qui marchent, espèce d'imbécile!" ----------------------------- "Si vous pensez que vous êtes trop petit pour changer quoique ce soit, essayez donc de dormir avec un moustique dans votre chambre." Betty Reese http://www.grainesdechangement.com/citations.htm ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-11 13:21 merging multiple commit into one? jean-luc malet 2009-05-11 13:31 ` Andreas Ericsson 2009-05-11 13:50 ` Jakub Narebski @ 2009-05-11 21:29 ` Heiko Voigt 2009-05-11 22:11 ` MALET Jean-Luc 2 siblings, 1 reply; 10+ messages in thread From: Heiko Voigt @ 2009-05-11 21:29 UTC (permalink / raw) To: jean-luc malet; +Cc: git On Mon, May 11, 2009 at 03:21:27PM +0200, jean-luc malet wrote: > according to my knowledge of git, removing the commit and rewriting > the last commit log so that it better reflect the modification will do > the job but I'm not sure git allow it... If you just want to get rid of the last commit git reset HEAD^ will remove the commit but keep your working directory untouched. In such a workflow I find it easier to start the new commit from zero than from the stashed stuff. By the way. You might also take a look at the command git stash which is especially crafted for saving work in progress. cheers Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-11 21:29 ` Heiko Voigt @ 2009-05-11 22:11 ` MALET Jean-Luc 2009-05-12 15:53 ` Heiko Voigt 0 siblings, 1 reply; 10+ messages in thread From: MALET Jean-Luc @ 2009-05-11 22:11 UTC (permalink / raw) To: Heiko Voigt; +Cc: git Heiko Voigt wrote: > On Mon, May 11, 2009 at 03:21:27PM +0200, jean-luc malet wrote: > >> according to my knowledge of git, removing the commit and rewriting >> the last commit log so that it better reflect the modification will do >> the job but I'm not sure git allow it... >> > > If you just want to get rid of the last commit > > git reset HEAD^ > > will remove the commit but keep your working directory untouched. In > such a workflow I find it easier to start the new commit from zero than > from the stashed stuff. > > By the way. You might also take a look at the command > > git stash > > which is especially crafted for saving work in progress. > > cheers Heiko > hi, thanks, I know about git stash, the problem is that this command don't fits well when working on multiple copies of the sources on different locations, git stash is usefull for saving states before branching elsewhere and comming back to the branch and keep going on your work.... I use it in a different way since I commit to continue work on a different pc, (so I commit, I push to some git archive, I pull from the other pc, and continue the work on the other pc, then commit push again and pull again on first pc....). As far as I know you can't push stashed information, I'm wrong? thanks JLM ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-11 22:11 ` MALET Jean-Luc @ 2009-05-12 15:53 ` Heiko Voigt 2009-05-12 20:37 ` Markus Heidelberg 0 siblings, 1 reply; 10+ messages in thread From: Heiko Voigt @ 2009-05-12 15:53 UTC (permalink / raw) To: MALET Jean-Luc; +Cc: git On Tue, May 12, 2009 at 12:11:24AM +0200, MALET Jean-Luc wrote: > hi, > thanks, I know about git stash, the problem is that this command don't > fits well when working on multiple copies of the sources on different > locations, git stash is usefull for saving states before branching > elsewhere and comming back to the branch and keep going on your work.... > I use it in a different way since I commit to continue work on a > different pc, (so I commit, I push to some git archive, I pull from the > other pc, and continue the work on the other pc, then commit push again > and pull again on first pc....). As far as I know you can't push stashed > information, I'm wrong? AFAIR, git stash cannot be pushed. Well you could by creating a branch and pushing that but thats not native stash functionality. cheers Heiko ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: merging multiple commit into one? 2009-05-12 15:53 ` Heiko Voigt @ 2009-05-12 20:37 ` Markus Heidelberg 0 siblings, 0 replies; 10+ messages in thread From: Markus Heidelberg @ 2009-05-12 20:37 UTC (permalink / raw) To: Heiko Voigt; +Cc: MALET Jean-Luc, git Heiko Voigt, 12.05.2009: > On Tue, May 12, 2009 at 12:11:24AM +0200, MALET Jean-Luc wrote: > > As far as I know you can't push stashed > > information, I'm wrong? > > AFAIR, git stash cannot be pushed. Well you could by creating a branch > and pushing that but thats not native stash functionality. I tried "git clone --mirror" with a repo containing a stash, the clone had a stash entry in .git/packed-refs. "git push --mirror" didn't work, though. Not sure what should be intended. Markus ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2009-05-12 20:37 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-05-11 13:21 merging multiple commit into one? jean-luc malet 2009-05-11 13:31 ` Andreas Ericsson 2009-05-11 13:50 ` Jakub Narebski 2009-05-11 22:11 ` MALET Jean-Luc 2009-05-11 22:36 ` Jakub Narebski 2009-05-12 15:59 ` jean-luc malet 2009-05-11 21:29 ` Heiko Voigt 2009-05-11 22:11 ` MALET Jean-Luc 2009-05-12 15:53 ` Heiko Voigt 2009-05-12 20:37 ` Markus Heidelberg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox