redcodedhome

projects articles

a recent project

acquire

The boomkat.com music acquisition platform.

our latest article

grall = GIT rm with XARGS

Published August 06, 2008

The terminal session below shows how to use XARGS to remove a series of files from the git repos. Thanks to Ben Pickles for suggesting the use of XARGS.


$(parser_update):~/Projects/media-importer$ gst
# On branch parser_update
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   app/models/supplier.rb
#	modified:   lib/importer.rb
#	new file:   lib/importer/read.rb
#	new file:   lib/importer/read/folder.rb
#	new file:   lib/importer/read/meta.rb
#
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#
#	deleted:    lib/importer/folder_reader.rb
#	deleted:    vendor/plugins/backgroundrb
#

$(parser_update):~/Projects/media-importer$ git ls-files --deleted
lib/default/importer/folder_reader.rb
vendor/plugins/delayed_job

$(parser_update):~/Projects/media-importer$ git ls-files --deleted | xargs git rm
rm 'lib/default/importer/folder_reader.rb'
rm 'vendor/plugins/delayed_job'

To make things easy in future I’ve created a grall or git-remove-all alias in my bin/aliases file.


alias grall='git ls-files --deleted | xargs git rm'