You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Noah Slater <ns...@apache.org> on 2012/11/17 20:58:51 UTC

Git help

Hi,

No idea what I just did or why it generated so many commits. Can someone
help me please?

Here's my bash history for today's hack session, in my docs branch checkout:

  506  git status
  507  git fetch origin
  508  git merge origin docs
  509  git status
  801  git status
  802  git add bin/Makefile.am
  803  git add configure.ac
  804  git add share/doc/build/Makefile.am
  805  git add build-aux/sphinx-*
  806  git status
  807  git add .gitignore
  808  git add build-aux/sphinx-*
  809  git status
  810  git status
  811  git status
  812  git add .gitignore
  813  git status
  814  git commit -m 'build system now gracefully handles missing doc
dependencies'
  815  git push
  818  git pull
  820  git pull
  821  git pull origin docs
  822  git status
  823  git push docs
  824  git push
  825  git push origin docs

What went wrong?

Obviously, quite embarrassed by this. But I don't profess to understand
Git. I really should get around to reading that book some time soon.

Thanks,

-- 
NS

Re: Git help

Posted by Dave Cottlehuber <dc...@jsonified.com>.
On 17 November 2012 23:47, Jan Lehnardt <ja...@apache.org> wrote:
> Nothing too bad, it looks like you merged the master branch into your
> docs branch and then pushed that to the asf docs branch. This is
> useful for finding merge conflicts and is actually encouraged, if
> not with a different technique (rebasing).
>
> I don’t know how git pull is set up for you locally, but I assume that’s
> the culprit here.
>
> I usually to this:
>
> # before work starts
> git fetch origin
> git checkout mybranch
> git rebase origin/mybranch # now my local copy is up to the server’s state
>                            # think of this as svn up
> # do my work
> git push origin mybranch # push to origin branch with name mybranch.
> # happytiger
>
>
> git pull / git push are usually set up to sync multiple branches (iirc, the
> very latest release of git changes the default on that to just the current
> branch, which my rebase & push origin mybranch above, does.
>
> Hope this helps
> Jan
> --
>
>
> On Nov 17, 2012, at 20:58 , Noah Slater <ns...@apache.org> wrote:
>
>> Hi,
>>
>> No idea what I just did or why it generated so many commits. Can someone
>> help me please?
>>
>> Here's my bash history for today's hack session, in my docs branch checkout:
>>
>>  506  git status
>>  507  git fetch origin
>>  508  git merge origin docs
>>  509  git status
>>  801  git status
>>  802  git add bin/Makefile.am
>>  803  git add configure.ac
>>  804  git add share/doc/build/Makefile.am
>>  805  git add build-aux/sphinx-*
>>  806  git status
>>  807  git add .gitignore
>>  808  git add build-aux/sphinx-*
>>  809  git status
>>  810  git status
>>  811  git status
>>  812  git add .gitignore
>>  813  git status
>>  814  git commit -m 'build system now gracefully handles missing doc
>> dependencies'
>>  815  git push
>>  818  git pull
>>  820  git pull
>>  821  git pull origin docs
>>  822  git status
>>  823  git push docs
>>  824  git push
>>  825  git push origin docs
>>
>> What went wrong?
>>
>> Obviously, quite embarrassed by this. But I don't profess to understand
>> Git. I really should get around to reading that book some time soon.
>>
>> Thanks,
>>
>> --
>> NS
>

Hi Noah,

I fixed your fix & also hooked in Alex's next batch of updates (YEAH) here:

https://github.com/dch/couchdb/tree/docs/

Let me know if the commits match and I'll update things.

https://github.com/dch/couchdb/commits/docs

I do things a little differently than that on a working branch to try
to keep a linear history.

Starting from fresh;

git checkout -t origin/some-branch

then after others have updated it:

git pull --ff-only

If this fails then I know that I'm ahead of your branch.

If I've not pushed my changes *anywhere* else, I can then do

git pull --rebase

Which will re-insert my changes on top of those pulled down from the origin.

You can avoid the rebase stuff by only starting work on a branch after
doing `git pull --ff-only` first. That's safer.

A+
Dave

Re: Git help

Posted by Jan Lehnardt <ja...@apache.org>.
Nothing too bad, it looks like you merged the master branch into your 
docs branch and then pushed that to the asf docs branch. This is
useful for finding merge conflicts and is actually encouraged, if
not with a different technique (rebasing).

I don’t know how git pull is set up for you locally, but I assume that’s
the culprit here.

I usually to this:

# before work starts
git fetch origin
git checkout mybranch
git rebase origin/mybranch # now my local copy is up to the server’s state
                           # think of this as svn up
# do my work
git push origin mybranch # push to origin branch with name mybranch.
# happytiger


git pull / git push are usually set up to sync multiple branches (iirc, the
very latest release of git changes the default on that to just the current
branch, which my rebase & push origin mybranch above, does.

Hope this helps
Jan
-- 


On Nov 17, 2012, at 20:58 , Noah Slater <ns...@apache.org> wrote:

> Hi,
> 
> No idea what I just did or why it generated so many commits. Can someone
> help me please?
> 
> Here's my bash history for today's hack session, in my docs branch checkout:
> 
>  506  git status
>  507  git fetch origin
>  508  git merge origin docs
>  509  git status
>  801  git status
>  802  git add bin/Makefile.am
>  803  git add configure.ac
>  804  git add share/doc/build/Makefile.am
>  805  git add build-aux/sphinx-*
>  806  git status
>  807  git add .gitignore
>  808  git add build-aux/sphinx-*
>  809  git status
>  810  git status
>  811  git status
>  812  git add .gitignore
>  813  git status
>  814  git commit -m 'build system now gracefully handles missing doc
> dependencies'
>  815  git push
>  818  git pull
>  820  git pull
>  821  git pull origin docs
>  822  git status
>  823  git push docs
>  824  git push
>  825  git push origin docs
> 
> What went wrong?
> 
> Obviously, quite embarrassed by this. But I don't profess to understand
> Git. I really should get around to reading that book some time soon.
> 
> Thanks,
> 
> -- 
> NS