Hello! On Wed, Nov 12, 2008 at 06:50:05PM +0100, Arne Babenhauserheide wrote: > Am Mittwoch 12 November 2008 15:49:11 schrieb Thomas Schwinge: > > On Tue, Nov 11, 2008 at 11:09:19AM +0100, Arne Babenhauserheide wrote: > > Typically, you'd simply ``git fetch'' (or ``git clone'' a new > > repository), notice the new `origin/homepage' branch, create a new > > working branch: ``git checkout -b homepage-work origin/homepage'', work > > on that branch, transfer the results you want to publish to the > > `homepage' branch and ``git push'' that one. Does that help? > > This helped me get the data, but I didn't manage to transfer my local commit > to origin/homepage (I read the man pages and they didn't really help me). > > How do I transfer my changes to the origin/homepage branch?
Unless changed, the local branch named `homepage' will correspond to the remote branch `origin/homepage'. Create the local branch `homepage' with ``git branch homepage origin/homepage'' (potentially afterwards followed by ``git checkout homepage'' to switch your working directory to it), or directly ``git checkout -b homepage origin/homepage'' to create it and immediatelly switch your working directory to it). Then install changes on that branch: either edit a file and ``git commit FILE'' or ``git merge SOME-OTHER-WORKING-BRANCH'' or ``git cherry-pick WHATEVER''. Verify what you're going to push: ``git log --reverse -p -C -M homepage..origin/homepage''. Push it: ``git push homepage''. Then it will be installed on the remote `homepage' branch, which is locally known as `origin/homepage'. If that pushing fails with a message like ``can't do fast-forward'' then there have (in the mean time) other changes been installed on the remote `homepage' branch. Fetch these via ``git fetch''. Rebase your local branch's changes (still assuming that `homepage' is checked out into your working directory) on top of those: ``git rebase origin/homepage'' and push again: ``git push homepage''. Please don't merge from `origin/master' into `homepage' -- I'll do this once as soon as we do the switch-over. (You can of course do this locally on some of your own working branches, but please don't push the result onto `origin/homepage'.) You're of course encouraged to continue doing and push changes onto `origin/master' (as you're doing already now) and also original changes onto `origin/homepage'. To create the web pages at <http://www.thomas.schwinge.homeip.net/hurd-wiki/>, I have a checkout like ``git checkout -b homepage-work origin/homepage'' and periodically (manually) do a ``git fetch origin && git merge origin/master && git merge origin/homepage''. This working branch `homepage-work' will be thrown away as soon as all changes have (once) been properly merged from `origin/homepage' into `origin/master'. More questions? Regards, Thomas
signature.asc
Description: Digital signature