From: Brian Gernhardt Date: Tue, 10 Jul 2007 18:10:01 GMT Subject: Re: pushing changes to a remote branch Message-ID: <844FC382-DFB3-4762-93C2-6512612136AC@silverinsanity.com> In-Reply-To: <20070710173401.GB5032@sigill.intra.peff.net> On Jul 10, 2007, at 1:34 PM, Jeff King wrote: > On Tue, Jul 10, 2007 at 04:36:14PM +0200, martin f krafft wrote: > >> git checkout origin/vim >> Note: moving to "origin/vim" which isn't a local branch >> echo change > newfile; git add newfile >> git commit -m'make change' >> Created commit 64b8b2e: make change >> 1 files changed, 1 insertions(+), 0 deletions(-) >> create mode 100644 newfile >> >> If I now checkout master and then return to origin/vim, the commit >> is gone. > > That's because 'origin/vim' is a tracking branch for the remote; it's > where you store the information "here's what the remote 'origin' > thinks > is in the branch 'vim'." That's why you get the "note" warning above. > > If you want to make changes, you should make a local branch starting > from that point: > > git-checkout -b vim origin/vim > # hack hack hack > git-commit -m changes Indeed, in master, git outputs a hint to that when you checkout the remote branch. $ git checkout origin/master Note: moving to "origin/master" which isn't a local branch If you want to create a new branch from this checkout, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b HEAD is now at f4855d4... 1 Perhaps git-commit should also also output a warning? "Commit made on detached HEAD. Use "git branch " to save your commit"? That's bad wording, but the idea is there. ~~ Brian