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

Re: Stashing untracked files

From
NMNeil Macneale <mac4-git@theory.org>
Date
Sep 30, 2007, 03:59 UTC
Message-ID
<46FF1F1E.2050000@theory.org>
In-Reply-To
<Pine.LNX.4.64.0709292259070.28395@racer.site>
Johannes Schindelin wrote:
Show 18 quoted lines
> Hi,
> 
> [please do not cull me from the Cc: list, especially if you quote me.]
> 
> On Sat, 29 Sep 2007, Neil Macneale wrote:
> 
>> Performing an add would require me to remove those file from the index 
>> at a later date in the event that I don't want to commit them on the 
>> next commit.
> 
> Wrong.
> 
> If you "git add <new-file>" and then "git stash", it will no longer have 
> the file in the index.  Instead, the index will agree with the HEAD (which 
> does not have <new-file>).
> 
> Ciao,
> Dscho
To be a little more clear, this is why I'd like to stash untracked files.
$ <hack hack>    # source tree is a mess
$ git stash -u   # stash everything, even untracked files. I never
                  # suggesting modifying the default behavior.
$ <fix bug>
$ git commit -a
$ git stash apply
$ hack some more
$ git add file1 file2  # I'm ready for some things to be committed,
                        # but my source tree is still a mess.
$ git commit

To do what you are suggesting would be something like this (correct me if I'm wrong):

$ <hack hack>
$ git add .      # Additional step, not a big deal.
$ git stash
$ <fix bug>
$ git commit -a
$ git stash apply
$ git reset HEAD <all file I don't actually need to add but was forced
                   to add in step above.>
                  # What concerns me is that I may not reset some files
                  # that need to be reset, or reset other ones which
                  # should not be reset. This is the headache I want to
                  # avoid.
$ <hack hack>
$ git add file1 file2
$ git commit
git stash is an acknowledgment that not everything needs to be 
committed, and sometimes working source trees are messy. Prior to the 
stash command, I just accepted that I'd need to commit everything and do 
  some maintenance to un-commit those changes. stash is awesome for me 
and the realities of the way I need to work. IMHO, it would be the best 
thing since sliced bread if it handled untracked files.

If this is really just a problem for me, I can write a shell script to do the dirty work. I just wonder if it is a common enough use case that it merits support in the tool itself.

Cheers, Neil

Previous: Johannes SchindelinNext: Steffen Prohaska
Message 6 of 13 in “Stashing untracked files”
  1. Neil MacnealeSep 29, 2007
  2. Johannes SchindelinSep 29, 2007
  3. Benoit SIGOURESep 29, 2007
  4. Neil MacnealeSep 29, 2007
  5. Johannes SchindelinSep 29, 2007
  6. Neil MacnealeSep 30, 2007
  7. Steffen ProhaskaSep 30, 2007
  8. Wincent ColaiutaSep 30, 2007
  9. Johannes SchindelinSep 29, 2007
  10. Tom PrinceSep 29, 2007
  11. Johannes SchindelinSep 29, 2007
  12. Tom TobinSep 30, 2007
  13. Johannes SchindelinSep 30, 2007

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.