Git
Created: December 28, 2024
Common commands
Start a working area:
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
Work on the current change:
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
Examine the history and state:
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
Grow, mark and tweak your common history:
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Reset current HEAD to the specified state
switch Switch branches
tag Create, list, delete or verify a tag object signed with GPG
Collaborate:
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
git diff
Displays both staged and unstaged changes compared to the last commit:
git diff HEAD
Shows changes in your working directory that have not been staged for commit:
git diff
Shows changes that have been staged but not yet committed:
git diff --cached
# OR
git diff --staged
The --stat option shows the number of insertions and deletions in each file:
git diff --stat
Show the difference between two specific commits or branches:
git diff <commit1/branch1> <commit2/branch2>
# OR
git diff <commit1/branch1>..<commit2/branch2>
Triple dots ... can be used to compare two branches:
git diff <branch1>...<branch2>
This will show the changes that are in branch2 but not in branch1.
You can use an external diff tool for a visual view:
git difftool <branch1> <branch2>