Skip to content

Git ​

Configuration ​

Set user name and email ​

sh
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

List current configuration ​

sh
git config --list

Repository ​

Initialize a new repository ​

sh
git init

Clone a repository ​

sh
git clone <repo_url>

Staging & Committing ​

Check status ​

sh
git status

Add files to staging ​

sh
git add <file>

Add all files ​

sh
git add -A

Commit changes ​

sh
git commit -m "commit message"

Branching ​

List branches ​

sh
git branch

Create new branch ​

sh
git checkout -b <branch_name>

Switch branch ​

sh
git checkout <branch_name>

Delete branch ​

sh
git branch -d <branch_name>

Merging & Rebasing ​

Merge branch ​

sh
git merge <branch_name>

Rebase branch ​

sh
git rebase <branch_name>

Remote ​

List remotes ​

sh
git remote -v

Add remote ​

sh
git remote add <name> <url>

Remove remote ​

sh
git remote remove <name>

Pull & Push ​

Pull changes ​

sh
git pull

Push changes ​

sh
git push

Push to specific branch ​

sh
git push origin <branch_name>

Logs & Diffs ​

Show commit log ​

sh
git log

Show log on one line per commit ​

sh
git log --oneline

Show file changes ​

sh
git diff

Undo ​

Unstage file ​

sh
git reset <file>

Discard local changes ​

sh
git checkout -- <file>

Amend last commit ​

sh
git commit --amend

Stash ​

Stash changes ​

sh
git stash

List stashes ​

sh
git stash list

Apply last stash ​

sh
git stash apply

Tags ​

List tags ​

sh
git tag

Create tag ​

sh
git tag <tag_name>

Push tags ​

sh
git push --tags