On Jun 6, 2013, at 12:52 PM, Phil Mayers wrote:

> On 06/06/13 17:08, Jonathan Vanasco wrote:
> 
>> the only downside to git, is that once something goes onto the
>> server... it's there for good.  it's possible to rebase a repo back
>> to a specific commit , then replay without specific commits, and
>> "push -f" to overwrite the history... but if anyone updated against
>> the server, those commits will come back and haunt you.  over and
>> over and over again.
> 
> Yes. Never do this. It's hateful to fix, and rude to contributors!
> 
> (Obviously not an issue if your git repo will just be a read-only copy of SVN 
> used to drive git-based code review tools)

It shouldn't ever happen in an Open Source project, or on "master" but in a 
corporate setting... you'd be surprised. 

        a - Someone accidentally commits and pushes a config file with 
credentials in it
        b - You have commits A,B,C,D,E.  D needs to be rebased out in order for 
a merge to successfully work.  You can't get rebase to work well, so you have 
to roll back to C, push -f, apply a diff from C-E ( which doesn't have D in it, 
all done by hand ), and then committed.  

Thankfully when someone brings this to you , you can say to your team "Ok.  
everyone nuke your git repos and go to lunch.  i'll fix it for you".

That being said, i'm a HUGE fan of having an "upstream" repo that is only used 
for merging in changes, and everyone has their own fork to work on.   I'm not a 
fan of people working in branches on the 'source' at all.





_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to