Subject: Can we stage all files using "git add" command, except some specific files ?

From: Arup Rakshit <[email-masked]>
Date: Tue, 27 May 2014 00:33:08 +0630

Hi,

Look below :

arup@linux-wzza:~/Rails/app> git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .gitignore
#       Gemfile
#       Gemfile.lock
#       README.rdoc
#       Rakefile
#       app/
#       bin/
#       config.ru
#       config/
#       db/
#       lib/
#       log/
#       public/
#       test/
#       vendor/
arup@linux-wzza:~/Rails/app> git add -A
arup@linux-wzza:~/Rails/app> git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   .gitignore
#       new file:   Gemfile
#       new file:   Gemfile.lock
#       new file:   README.rdoc
#       new file:   Rakefile
#       new file:   app/assets/images/.keep
#       new file:   app/assets/javascripts/application.js
#       new file:   app/assets/javascripts/upload.js.coffee
#       new file:   app/assets/stylesheets/application.css
#       new file:   app/assets/stylesheets/upload.css.scss
#       new file:   app/controllers/application_controller.rb
#       new file:   app/controllers/concerns/.keep
#       new file:   app/controllers/upload_controller.rb
#       new file:   app/helpers/application_helper.rb
#       new file:   app/helpers/upload_helper.rb
#       new file:   app/mailers/.keep
#       new file:   app/models/.keep
#       new file:   app/models/concerns/.keep
#       new file:   app/models/picture.rb
#       new file:   app/views/layouts/application.html.erb
#       new file:   app/views/upload/get.html.erb
#       new file:   app/views/upload/show.html.erb
#       new file:   bin/bundle
#       new file:   bin/rails
#       new file:   bin/rake
#       new file:   bin/spring
#       new file:   config.ru
#       new file:   config/application.rb
#.......................
#...........................
arup@linux-wzza:~/Rails/app> git rm --cached .gitignore
rm '.gitignore'
arup@linux-wzza:~/Rails/app> git rm --cached bin/bundle
rm 'bin/bundle'

Now, you can see, I have staged all the files first using *git add -A*, then 
_unstaging_ those I don't want to _stage_ right now. Now can this be done, in 
the *staging* time ? I mean any way to tell `git add` command, that add all 
the files from the current directory, except some specific files. What I want 
this is, some times I have at least 30 files, whereas I want to _stage_ say, 20 
files, not the rest 10. During _staging_ can I tell *git add* the same. I used 
*git add -h*, which didn't show me any such hints about my need.

-- 
===============
Regards,
Arup Rakshit