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 https://github.com/UrlToRepository.git 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 https://goo.gl/RVfc1q, 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

Submodules

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..