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

Broken branch after git commit - tracked files in staging area can't be removed with restore --staged, or commit or stash

From
TKTorsten Krah <krah.tm@gmail.com>
Date
Jan 7, 2020, 12:55 UTC
Message-ID
<07c84224bb0b093ab3770be9b5ab2ec23ce2d31a.camel@gmail.com>
Hi,

as written here https://git-scm.com/community I should sent reports to this list - if I am mistaken please tell me where to direct this question / problem I've encountered.

I've got a problem with a git branch and as this is the second time now (I never hit that problem before I've started using the "new" git restore --staged command - but since I am using it its the second time now - maybe by accident, maybe related - I don't know).

Maybe someone can help me with this matter.

I am using 2.24.1 git and my starting point was a local branch and I wanted to removed some files from the last commit I made. So I did this:

1. git reset --soft HEAD~1

Now I had all my files from the last commit in the staging area and to remove some of them I did:

2. git restore --staged $my-files

This worked too - now those files were moved to the working tree in git status and were untracked and the rest looked still fine in the staging area.

3. git commit

Now I made my commit - had a look on that with git show and it looks fine.

But now I've hit the problem - looking with "git status" I was left now with 6 files in the staging area all marked as deleted - still they are in the working tree. But I did never deleted them and the most annoying part now - I can't fix that.

I tried:
1. git restore --staged
Does not change anything, still deleted in the staging area.
2. git stash

Does create a stash entry (did not look at the content though yet) but staging area still unchanged.

3. git commit

Does create a commit but the whole commit is empty - nothing from the tracked staging area is there and "git status" is unchanged - still 6 tracked deleted files.

I don't know what went wrong and I am unable to fix it - help appreciated. I can't share the whole git repository but I can try whatever git command or other tool output may help here to shed some light on this - as written I don't have a clear reproducer, I just have my branch with a borked staging area.

thx and kind regards
Torsten
PS: Of cause I can delete the whole repo and clone it again or remove
the branch and start from a fresh new one ;) but I want to analyse
this.
Next: Torsten Krah
Message 1 of 13 in “Broken branch after git commit - tracked files in staging area can't be removed with restore --staged, or commit or stash”
  1. Torsten KrahJan 7, 2020
  2. Torsten KrahJan 7, 2020
  3. Torsten KrahJan 7, 2020
  4. Jeff KingJan 8, 2020
  5. Torsten KrahJan 8, 2020
  6. Torsten KrahJan 8, 2020
  7. Jeff KingJan 8, 2020
  8. restore: invalidate cache-tree when removing entries with --stagedJeff King, Jan 8, 2020
  9. Junio C HamanoJan 8, 2020
  10. Dennis KaarsemakerFeb 5, 2020
  11. Torsten KrahJan 8, 2020
  12. Jeff KingJan 9, 2020
  13. Torsten KrahJan 9, 2020

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.