Re: Pushing an --amend-ed commit [and a git-merge-theirs strategy]
- From
- Robert Haines <rhaines@manchester.ac.uk>
- Date
- Jun 3, 2008, 17:49 UTC
- Message-ID
- <A36634E4-D440-4E85-9567-7331FC201BFB@manchester.ac.uk>
- In-Reply-To
- <484409F9.5020807@gnu.org>
On 2 Jun 2008, at 15:55, Paolo Bonzini wrote:
Show 13 quoted lines
>> 1) Right, changes all done and committed. Push to public repo. >> 2) Bugger, missed out an obvious one-liner in a Makefile. Make >> change and --amend that last commit. >> 3) Push to public repo again... Ah, "Not a strict subset" error, >> can't push... >> It's obvious (I think) to me why I get this error - the commit now >> has a different hash so it looks like it would be the wrong thing >> to do to allow the push as far as git is concerned. Right? >> So, is it safe to "use the --force" in this instance when pushing? >> This should just replace the old commit with the --amended commit >> with no side-effects, shouldn't it? > > Yes, but it would screw up other people that pulled from you.
Ah yes, forgot about that...
> If that's an issue (it most likely is, unless you're just pushing > just to your own mirror repository)
It's not an issue right now as I'm still experimenting, but it certainly will be when I let others lose on this stuff. It's really not something I see myself doing a lot - I usually test a lot more thoroughly before publishing to a public repo...
> it is better if you do it the other way round: adding your commits > on top of origin^, starting from the one that fixed a typo. In > other words, make the history look like you hadn't used --amend.
<snip big explanation and code>
Thanks very much for the code and method. It goes over my head a bit right now, but I'll think on it and try it and see how I get on! A lot of what git can do scares me a bit still - mainly because it's me driving it...
Thanks also to the other people who answered me!
Cheers, Rob