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

'git rebase' silently drops changes?

From
Sergey Organov <sorganov@gmail.com>
Date
Feb 6, 2015, 21:28 UTC
Message-ID
<87386ispb3.fsf@osv.gnss.ru>
Hello,

I recently ran into an annoying problem: 'git rebase' apparently silently drops changes in non-conflicting paths of merge commits (git version 1.9.3).

Is it a bug or feature? Is there a way to flatten history using rebase, yet preserve manual changes found in merge commits?

Here is simplified reproduction of what I've encountered:

<SCRIPT> git init t cd t git config rerere.enabled true

echo "I" > a; git add a echo "I" > b; git add b git commit -am "I"

git checkout -b test
echo "B" >> b; git commit -m "B" -a
git checkout master

echo "A" >> a git commit -am "A"

git merge --no-edit test

# Clean merge, but result didn't compile, so I fixed it and # amended the merge: echo "Precious!" >> a # [!] This is modification that gets lost git commit --amend --no-edit -a cat a

# Now rebase my work. git rebase -f HEAD~1

# What? Where is my "Precious" change in "a"??? cat a </SCRIPT>

I.e., the modification marked [!] was silently lost during rebase!
-- 
Sergey.
Next: Sebastian Schuberth
Message 1 of 7 in “'git rebase' silently drops changes?”
  1. Sergey OrganovFeb 6, 2015
  2. Sebastian SchuberthFeb 7, 2015
  3. Johannes SixtFeb 8, 2015
  4. Sergey OrganovFeb 9, 2015
  5. Johannes SixtFeb 9, 2015
  6. Sergey OrganovFeb 10, 2015
  7. Johannes SixtFeb 10, 2015

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.