Hi Paul,

On Thu, Mar 24, 2011 at 2:55 AM, Paul Ivanov <pivanov...@gmail.com> wrote:
> Paul Ivanov, on 2011-03-24 01:30,  wrote:
>> I offer my sincerest apologies, I royally screwed up and thought
>> that I was pushing out to one of my own branches and somehow
>> ended up pushing a 2 day old copy of master out to
>> matplotlib/master with 'git push -f'. Assuming Mike's work from
>> today is also in his own master branch, I think the damage can be
>> undone by just pulling from
>> https://github.com/mdboom/matplotlib/master and pushing that to
>> https://matplotlib/matplotlib/master, but at this point I don't
>> trust myself and just want to not cause any more damage than I've
>> already done.
>>
>> I realize that people get their commit right revoked for such
>> careless shenanigans, but I will be grateful if you'd all allow
>> me the opportunity always run any push commands with the
>> --dry-run flag from now on.
>
> I can't figure out a way to pull it from there, but I think Eric
> was the last to commit to trunk before I (destructively) pushed
> my stale copy. Eric's last commit hash was:
> 8506c33c811e970c6aa73a446d3ed223ac48f989
>
> At least that's what I see on https://github.com/organizations/matplotlib
>
> hopefully this will help someone who get git better than I do.

Welcome to the wonderful world of git and DVCS!

I think you could have solved this one by:

git reset --hard 8506c33c811e970c6aa73a446d3ed223ac48f989

and pushing that.  Assuming you had that commit, which I guess you would have.

The way I try and avoid doing that very easy thing is

1) Having a moderately frightening name for the upstream remote like
'upstream-rw'.
2) Having a moderately frightening name for the tracking branch like:

git co -b main-master --track upstream-rw/master

3) Making sure I've got the git-completion bash command line
completion tools working, so I can always see my branch name
4) Never working on main-master, always branching, and merging when I'm sure.
5) Deleting my own master branch to avoid confusion.   This involves:

Going to your github fork, choosing Admin, set default branch to be
something other than 'master'

git co that-other-branch
git branch -D master # delete locally
git push origin :master # delete on github

Every error, is a jewel.

See you,

Matthew

------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to