Try: Clone 1: 1- I checkout a new branch test1 2- I created a file test1.txt 3- I add/commit test1.txt 4- I checkout master 5- I merged --no-ff test1
Clone 2: 1- I created a file file1.txt 2- I add/commit file1.txt 3- I push Clone 1: 1- I pull --rebase Now Clone 1 would only have the commit to test1.txt. The merge commit created by merge --no-ff test1 would be gone. Hope this helps, --Dasa On Mar 20, 2013, at 11:25 AM, Frédéric THOMAS <[email protected]> wrote: >> The problem would be if you had first pushed clone 2 and then did the pull >> --rebase in clone 1 > > But in this case I won't have and I don't want any merge commit at all in > clone 2 indeed, it's a single commit on the master, something should be > missed in that dicussion, could you provide me an example clearer than in > your link ? > > Thanks, > -Fred > > -----Message d'origine----- From: Dasa Paddock > Sent: Wednesday, March 20, 2013 7:16 PM > To: <[email protected]> > Subject: Re: [3/3] git commit: Merge branch 'develop' of > https://git-wip-us.apache.org/repos/asf/flex-sdk into develop > > The problem would be if you had first pushed clone 2 and then did the pull > --rebase in clone 1. For more info see: > http://notes.envato.com/developers/rebasing-merge-commits-in-git/ > > --Dasa > > On Mar 20, 2013, at 11:11 AM, Frédéric THOMAS <[email protected]> wrote: > >> Hi Dasa, >> >>> You could use "git pull --rebase" instead but this does not preserve merge >>> commits >> >> I just did a test on my git lab, I've got a bare repo and 2 clones. >> >> Clone 1: >> 1- I checkout a new branch test1 >> 2- I created a file test1.txt >> 2- I add/commit test1.txt >> 3- I checkout master >> 4- I merged --no-ff test1 >> 5- I deleted test1 >> 6- I push >> >> Clone 2: >> 1- I created a file file1.txt >> 2- I add/commit file1.txt >> 3- I pull --rebase >> 4- I push >> >> Clone 1: >> 1- I pull --rebase >> >> the git log on both clones shows the merge commit, it has been preserved, >> so, I wonder what do you mean, did I miss something ? >> >> Thanks, >> -Fred >> >> -----Message d'origine----- From: Dasa Paddock >> Sent: Tuesday, March 19, 2013 8:12 PM >> To: <[email protected]> >> Subject: Re: [3/3] git commit: Merge branch 'develop' of >> https://git-wip-us.apache.org/repos/asf/flex-sdk into develop >> >> Here's one way to avoid having "git pull" create a merge commit on your >> develop branch. Checkout your develop branch and then run: >> >> $ git pull --ff-only >> >> If this give you an error it means you have commits on your develop branch >> that are ahead of the remote develop branch. So then, run: >> >> $ git rebase --preserve-merges origin/develop >> >> This will rebase your commits on your local develop branch onto the remote >> develop branch. (Use -p for short.) >> >> You could use "git pull --rebase" instead but this does not preserve merge >> commits, which is what I commonly have following the git flow workflow. For >> more info on this, see: >> http://notes.envato.com/developers/rebasing-merge-commits-in-git/ >> >> --Dasa >> >> On Mar 19, 2013, at 11:39 AM, Frédéric THOMAS <[email protected]> >> wrote: >> >>>> This is the best explanation of when to merge vs. rebase that I've seen: >>> http://blog.sourcetreeapp.com/2012/08/21/merge-or-rebase/ >>> >>> Added as comment to the wiki >>> >>> -Fred >>> -----Message d'origine----- From: Frédéric THOMAS >>> Sent: Tuesday, March 19, 2013 7:23 PM >>> To: [email protected] >>> Subject: Re: [3/3] git commit: Merge branch 'develop' of >>> https://git-wip-us.apache.org/repos/asf/flex-sdk into develop >>> >>> Hi, >>> >>> This document is perfect, the maybe only little point it didn't cover in >>> "Keeping the feature branch up to date" is the possibility interactively >>> rebase your commit, which allows in case of too much conflicts, to abord it, >>> reset --hard and pull (fecth/merge). >>> >>> Thanks for sharing, >>> -Fred >>> >>> -----Message d'origine----- From: Dasa Paddock >>> Sent: Tuesday, March 19, 2013 6:57 PM >>> To: <[email protected]> >>> Subject: Re: [3/3] git commit: Merge branch 'develop' of >>> https://git-wip-us.apache.org/repos/asf/flex-sdk into develop >>> >>> This is the best explanation of when to merge vs. rebase that I've seen: >>> http://blog.sourcetreeapp.com/2012/08/21/merge-or-rebase/ >>> >>> There's also now a public beta of SourceTree for Windows available: >>> http://blog.sourcetreeapp.com/2013/03/19/introducing-sourcetree-for-windows-a-free-desktop-client-for-git/ >>> >>> In regards to these unwanted merges, I've seen GitHub for Windows do this >>> automatically instead of giving an error when you click it's Sync button and >>> your local develop branch has commits that have not been pushed yet but the >>> remote also also has commits that are not yet on the local develop branch. >>> >>> --Dasa >>> >>> >> >> > >
