Thread: Some git related questions
Hi, More than questions, I want to be sure I get it right. So, since a few days, we have a mirror of the pgadmin3 git repo on github. That's great. Anyone can fork it. I did (http://github.com/gleu/pgadmin3). I'm working on my fork till then. I have two new branches, ticket225 that takes care of the work I need to do to make Luis's GSoC patch commitable, and ticket227 that I use as an exercice for my git-fu. Ticket 227 is a simple patch to handle the new columns Magnus added this afternoon on the pg_stat_all_tables. Great feature, BTW. Anyway, here is what I did: git checkout -b ticket227 (from master on a clone of my github repo) vim, make, tests, etc git add pgadmin/schema/pgTable.cpp git commit git push origin ticket227 (which uploaded my new branch on github) Now, when I'll need to commit it, I think I understand how to do this, but I want to make sure before making any mistakes. Here is what I think I should do: from a clone of the pgadmin3 repo (not the github one, the one from git.postgresql.org) git remote add github git://github.com/gleu/pgadmin3.git git fetch github git checkout master git merge ticket227 But, if I do this, I see my commit from ticket227 and I see another commit, a merge commit. Is there a way to not have this merge commit? I can probably use git rebase to squash them, but I was wondering if there was something better). Last question. How can I pull the new commits from the the github mirror onto my github fork? Thanks. And sorry if it is a bit out of topic. -- Guillaume http://www.postgresql.fr http://dalibo.com
Le 21/08/2010 15:30, Guillaume Lelarge a écrit : > Hi, > > More than questions, I want to be sure I get it right. > > So, since a few days, we have a mirror of the pgadmin3 git repo on > github. That's great. Anyone can fork it. I did > (http://github.com/gleu/pgadmin3). I'm working on my fork till then. > > I have two new branches, ticket225 that takes care of the work I need to > do to make Luis's GSoC patch commitable, and ticket227 that I use as an > exercice for my git-fu. > > Ticket 227 is a simple patch to handle the new columns Magnus added this > afternoon on the pg_stat_all_tables. Great feature, BTW. Anyway, here is > what I did: > > git checkout -b ticket227 (from master on a clone of my github repo) > vim, make, tests, etc > git add pgadmin/schema/pgTable.cpp > git commit > git push origin ticket227 (which uploaded my new branch on github) > > Now, when I'll need to commit it, I think I understand how to do this, > but I want to make sure before making any mistakes. Here is what I think > I should do: > > from a clone of the pgadmin3 repo (not the github one, the one from > git.postgresql.org) > > git remote add github git://github.com/gleu/pgadmin3.git > git fetch github > git checkout master > git merge ticket227 > > But, if I do this, I see my commit from ticket227 and I see another > commit, a merge commit. Is there a way to not have this merge commit? I > can probably use git rebase to squash them, but I was wondering if there > was something better). > I think I found my answer. git remote add github git://github.com/gleu/pgadmin3.git git fetch github git checkout ticket227 git rebase master git checkout master git merge ticket227 git push Am I right this time? > Last question. How can I pull the new commits from the the github mirror > onto my github fork? > Still wondering on this one. -- Guillaume http://www.postgresql.fr http://dalibo.com
On Sat, Aug 21, 2010 at 15:30, Guillaume Lelarge <guillaume@lelarge.info> wrote: > Hi, > > More than questions, I want to be sure I get it right. > > So, since a few days, we have a mirror of the pgadmin3 git repo on > github. That's great. Anyone can fork it. I did > (http://github.com/gleu/pgadmin3). I'm working on my fork till then. > > I have two new branches, ticket225 that takes care of the work I need to > do to make Luis's GSoC patch commitable, and ticket227 that I use as an > exercice for my git-fu. > > Ticket 227 is a simple patch to handle the new columns Magnus added this > afternoon on the pg_stat_all_tables. Great feature, BTW. Anyway, here is > what I did: Kewl. I was just about to start working on that myself :-) > git checkout -b ticket227 (from master on a clone of my github repo) > vim, make, tests, etc > git add pgadmin/schema/pgTable.cpp > git commit > git push origin ticket227 (which uploaded my new branch on github) Yup, so far so good. > Now, when I'll need to commit it, I think I understand how to do this, > but I want to make sure before making any mistakes. Here is what I think > I should do: > > from a clone of the pgadmin3 repo (not the github one, the one from > git.postgresql.org) > > git remote add github git://github.com/gleu/pgadmin3.git > git fetch github > git checkout master > git merge ticket227 > > But, if I do this, I see my commit from ticket227 and I see another > commit, a merge commit. Is there a way to not have this merge commit? I > can probably use git rebase to squash them, but I was wondering if there > was something better). Yes, you are correct. For the PostgreSQL project, we have a no-merge policy. I don't recall what we said about pgadmin? Anyway, what you want to do is use "git rebase -i", and then squash it together to a single commit (or to more than one if you want, but not all of them at least). > Last question. How can I pull the new commits from the the github mirror > onto my github fork? You'll need to add the "postgres/pgadmin3" repository as well, say: git remote add postgres git://github.com/postgres/pgadmin3.git Then do a "git fetch postgres" and rebase on top of that. Yes, it's an extra step on everything since we have the master repository elsewhere from the "master github" one. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/