Squash a serie of commits and rewrite the history by writing them as one
git rebase -i
this puts you in the interactive rebasing tool.
s to apply
squash to a commit with the previous one. Repeat the
s command for as many commits as you need.
Take a commit that lives in a separate branch and apply the same changes on the current branch
git cherry-pick <commit>
for multiple commits:
git cherry-pick <commit1> <commit2> <commit3>
Restore the status of a file to the last commit (revert changes)
git checkout -- <filename>
Show a pretty graph of the commit history
git log --pretty=format:"%h %s" --graph
Get a prettier log
git log --pretty=format:"%h - %an, %ar : %s"
Get a shorter status
git status -s
Checkout a pull request locally
git fetch origin pull/<id>/head:<branch>
git checkout <branch>
List the commits that involve a specific file
git log --follow -- <filename>
List the commits that involve a specific file, including the commits content
git log --follow -p -- <filename>
List the repository contributors ordering by the number of commits
git shortlog -s -n
Undo the last commit you pushed to the remote
git revert -n HEAD
Pick every change you haven’t already committed and create a new branch
git checkout -b <branch>
Stop tracking a file, but keep it in the file system
git rm -r --cached
Get the name of the branch where a specific commit was made
git branch --contains <commit>
Want to hire me?I'm currently considering remote job/contract opportunities as a Frontend Developer.
Read more about me and if you're interested, get in touch.