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

RE: [Feature request] Add -u option to git rm to delete untracked files

From
EJErik Janssen <eaw.janssen@chello.nl>
Date
May 27, 2020, 19:31 UTC
Message-ID
<1983783029.127560.1590607913242@mail.ziggo.nl>
In-Reply-To
<021801d63433$3f0c5e80$bd251b80$@nexbridge.com>
Hello All,

Thanks for the responses! I was not aware of the alias option, but it gave me the following idea that seems to work: git config --global alias.rmclean '!git rm -r -f $1; git clean -f $1'

A dir with a untracked file 'file1' will give: git rmclean file1 fatal: pathspec 'file1' did not match any files Removing file1 but effectively the file is gone.

A dir with a tracked file 'file2' will give: git rmclean file2 rm 'file2'

alternatively, ignore the errors: git config --global alias.rmclean '!git rm -r -f $1 2>/dev/null; git clean -f $1 2>/dev/null'

some setup as above, untracked file1, tracked file2 in one go: git rmclean .

gives: rm 'file2' Removing file1

So I think I solved my own question :-)

Kind regards, Erik.

Show 38 quoted lines
> Op 27 mei 2020 om 16:29 schreef "Randall S. Becker" <rsbecker@nexbridge.com>:
> 
> 
> On May 27, 2020 8:45 AM, Ðoàn Tr?n Công Danh wrote:
> > To: Erik Janssen <eaw.janssen@chello.nl>
> > Cc: git@vger.kernel.org
> > Subject: Re: [Feature request] Add -u option to git rm to delete untracked
> > files
> > 
> > On 2020-05-26 23:21:23+0200, Erik Janssen <eaw.janssen@chello.nl> wrote:
> > > Would it be feasible to add a -u option to git rm to specify that I
> > > also want a file deleted if it is not tracked by git?
> > > Currently, git rm -f can remove files in whatever state it seems,
> > > except when it is untracked.
> > > By allowing a -u option (-u: also delete untracked files) I would be
> > > sure that the file is gone while it would also make sure that it
> > > doesn't break past behaviour where people perhaps rely on git rm to
> > > leave untracked files alone.
> > 
> > I _think_ remove untracked file is pretty much risky operation, and it should
> > be done separately/independently (via git-clean(1)).
> 
> A git alias could easily be set up to do this, of course dangerous because of what git-clean does without any arguments:
> 
>     git config --global alias.rmu 'clean -f --'
> 
> > Let's assume we have -u|--untracked,
> > nothing (probably) can stop our users from:
> > 
> > 	git rm -u src
> > 	git rm -u .
> > 
> > Even git-clean(1) requires either --force or --interactive because it's too
> > much risky to begin with.
> > 
> > If we think Git as a FileSystem, its rm should only care about its tracked file. I
> > prefer to just rm(1) instead of "git-rm -u".
>
Previous: Randall S. Becker
Message 5 of 5 in “[Feature request] Add -u option to git rm to delete untracked files”
  1. Erik JanssenMay 26, 2020
  2. Jeff KingMay 27, 2020
  3. Đoàn Trần Công DanhMay 27, 2020
  4. Randall S. BeckerMay 27, 2020
  5. Erik JanssenMay 27, 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.