git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Pushing an --amend-ed commit [and a git-merge-theirs strategy]

From
RHRobert 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

Previous: Paolo BonziniNext: Matt Pearson
Message 3 of 5 in “Pushing an --amend-ed commit”
  1. Robert HainesJun 2, 2008
  2. Paolo BonziniJun 2, 2008
  3. Robert HainesJun 3, 2008
  4. Matt PearsonJun 3, 2008
  5. Matt PearsonJun 3, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.