Git Commands
Getting & Creating Projects
Command Description
git init Initialize a local Git repository
git clone git@github.com/[username]/[repository-name].git Create a local copy of a remote
repository
Basic Snapshotting
Command Description
git status Check status
git add [file-name.txt] Add a file to the staging area
git add -A Add all new and changed files to the staging
area
git commit -m "[commit message]" Commit changes
git rm -r [file-name.txt] Remove a file (or folder)
Branching & Merging
Command Description
git branch List branches (the asterisk denotes the
current branch)
git branch -a List all branches (local and remote)
git branch [branch name] Create a new branch
git branch -d [branch name] Delete a branch
git push origin --delete [branch name] Delete a remote branch
git checkout -b [branch name] Create a new branch and switch to it
git checkout -b [branch name] origin/[branch Clone a remote branch and switch to it
name]
git branch -m [old branch name] [new branch Rename a local branch
name]
git checkout [branch name] Switch to a branch
git checkout - Switch to the branch last checked out
git checkout -- [file-name.txt] Discard changes to a file
git merge [branch name] Merge a branch into the active branch
git merge --abort To abort a merge
git merge [source branch] [target branch] Merge a branch into a target branch
git stash Stash changes in a dirty working directory
git stash clear Remove all stashed entries
Sharing & Updating Projects
Command Description
git push origin [branch name] Push a branch to your remote
repository
git push -u origin [branch name] Push changes to remote
repository (and remember the
branch)
git push Push changes to remote
repository (remembered branch)
git push --set-upstream origin [branch name] Sets the remote upstream to
specific branch name
git push origin --delete [branch name] Delete a remote branch
git pull Update local repository to the
newest commit
git pull origin [branch name] Pull changes from remote
repository
git remote add origin Add a remote repository
git@github.com/[username]/[repository-name].git
git remote set-url origin Set a repository's origin branch to
git@github.com/[username]/[repository-name].git SSH
Inspection & Comparison
Command Description
git log View changes
git log --summary View changes (detailed)
git log --oneline View changes (briefly)
git diff [source branch] [target branch] Preview changes before
merging
Additional References
Cloning by generating ssh key in linux or in git bash (Please skip -o option):
Start SSH Agent:
Add ssh key in ssh agent:
Changing git config:
Git bash tutorial: https://www.youtube.com/watch?v=oQc-2gsjgDg
Version change in puttygen