Working with Git Remotely
Clone a remote repo:
$ git clone <url>Clone a specific branch of a remote repo:
$ git clone -b <remorebranch> <url> <localbranch>To add a new remote Git repository to local repo:
$ git remote add <url-alias> <url>Set upstream with local and remote branch:
$ git branch --set-upstream-to <url-alias>/<remotebranch> <localbranch>Fetch and merge changes from remote branch to local branch:
$ git pull <url-alias> <remotebranch>Push changes to remote branch:
$ git push <url-alias> <remotebranch>Push changes to remote branch. -u would create the remote branch:
$ git push -u <url-alias> <remotebranch>Push local tags to remote:
- To push all the tags to remote:
$ git push --tags- To push a particular tag to remote:
$ git push <url-alias> <tagname>Note: When you push your local repo to remote the local tags will not be pushed to remote by itself, you would need to do this explicitly.
Show remote url-alias and url:
$ git remote -vRemove remote reference with local repo:
$ git remote rm <url-alias>Delete a remote branch after merging (i.e. you missed the checkbox during the merge. Alternatively you can use the Github/Bitbucket UI to delete the remote branch.)
$ git push origin --delete <branchname>Add a Git submodule to an existing Git Project
$ git submodule add <url> folder-to-download/Remove a Git submodule from an existing Git Project
Delete the relevant section from the .gitmodules file. Stage the .gitmodules changes git add .gitmodules Delete the relevant section from .git/config. Run git rm --cached path_to_submodule (no trailing slash). Run rm -rf .git/modules/path_to_submodule (no trailing slash). Commit git commit -m "Removed submodule " Delete the now untracked submodule files rm -rf path_to_submodule