Daily git commands
Git commands that I use everyday.
-
stage files:
- all files:
git add .
- specific files:
git add <file1> <file2>
- all files:
-
unstage files:
- all files:
git reset
- specific files:
git reset <file1> <file2>
- all files:
-
discard unstaged files:
- all files:
git checkout -f
- specific files:
git checkout -- <file1> <file2>
- all files:
-
checkout:
git checkout -b <new-branch>
(-b for new branch only) -
remove branch:
git branch -d <branch-name>
(-D for forcing delete branch) -
rename branch:
git branch -m <old-branch-name> <new-branch-name>
-
commit with message:
git commit -m "title message" -m "description message"
-
commit and rewrite using last commit:
git commit --amend --no-edit
-
push new branch:
git push -u origin HEAD
-
push:
git push
(add--force
to completely overwrite the remote branch) -
pull:
git pull
-
reset commit (rewrite history):
git reset HEAD~1
-
merge:
git merge <branch-name>
-
rebase:
git rebase <branch-name>
-
cherry pick commit:
git cherry-pick <commmit-id>
-
stash save:
git stash save
-
stash apply:
git stash apply
-
log:
- normal:
git log
- details:
git log -p
- one line:
git log --oneline
- graph:
git log --graph
- normal: