Category Archives: git

How to add or remove a git submodule?

While a git sub module could be added with a single line command such as:

git submodule add foldernameofrepository

it can be cumbersome to remove a submodule. There are various steps involved such as given in the next paragraph.

To remove a submodule you need to:

  1. Delete the relevant section from the .gitmodules file.
  2. Stage the .gitmodules changes git add .gitmodules
  3. Delete the relevant section from .git/config.
  4. Run git rm --cached path_to_submodule (no trailing slash).
  5. Run rm -rf .git/modules/path_to_submodule
  6. Commit git commit -m "Removed submodule <name>"
  7. Delete the now untracked submodule files
    rm -rf path_to_submodule

To update all submodule within a repository one would do:

git submodule foreach git pull origin master

Taken from Stackoverflow page, answered by John Douthat

Useful git commands or actions

Allos Overwrite

Ref. Ignoring “Your local changes to the following files would be overwritten by merge” on pull

git checkout HEAD^ file/to/overwrite
git pull

Ignoring versioned files

To start ignoring a file

$ git update-index --assume-unchanged path/to/file.txt

To start track again

$ git update-index --no-assume-unchanged path/to/file.txt


You can pull one or all public submodules with git using the following commands :

Pull One
git submodule update --init [PATH TO SUBMODULE]
Ex. git submodule update --init c:/wamp/www/site/subfolder

Pull All
git submodule update –init,

more coming soon..