Results: 102
cd
Change directory
cd /Users/Brad/Desktop/Sites
Instead of typing the full path we can drag the folder on top of our command line
pwd
To print the current working directory
pwd
also works on windows
Set username and email globally
git config --global user.name "John"
git config --global user.email "johndoe@gmail.com"
Check if we have set the Git username and email globally
git config --global user.name
git config --global user.email
Set username and email for a single repository
git config user.name "John"
git config user.email "johndoe@gmail.com"
Check if we have set the Git username and email locally (for a single repository)
git config user.name
git config user.email
git commit
Saves staged changes to local repository with message
git commit -m 'Initial commit'
Adds all the modified and deleted files to staging area and then saves changes to local repository with message
git commit -a -m 'Initial commit'  /  git commit -am 'Initial commit'
Makes changes to the last commit, adds some files or edits commit message
git commit --amend -m 'Initial commit'
git checkout
Reverts all changes (from the last commit)
git checkout -- .
Reverts
some.txt
file changes from the last commit (to discard changes in working directory)
git checkout -- some.txt
HEAD will be detached and pointed towards the commit (to go back to master
git checkout master
should be run)
git checkout b4ba3088679ff70b45df2aefc7c0a13d41a2bd76
Reverts all changes (from the specified commit)
git checkout b4ba3088679ff70b45df2aefc7c0a13d41a2bd76 .
Reverts
some.txt
file changes (from the specified commit)
git checkout b4ba3088679ff70b45df2aefc7c0a13d41a2bd76 some.txt
To switch to an existing branch
git checkout another_branch
To switch to a new branch
git checkout -b new_branch
echo
Puts some text into
a.txt
file
echo 'some txt' > a.txt
Adds some text at the bottom of the file
a.txt
file (with new line)
echo 'some txt' >> a.txt
The file will be created, if does not exist
also works on windows
touch filename
Creates
a.txt
file
touch a.txt
Creates several files
touch .gitignore a.txt b.txt
does not work on windows
Removes all files from staging area (
git reset
defaults to
HEAD
)
git reset  /  git reset HEAD  /  git reset HEAD .
Removes the specified file from staging
git reset HEAD 1.txt
Deletes all commits after the specified commit but does not change source code (keeps files staged)
git reset --soft i4ol54f
Deletes all commits after the specified commit but does not change source code (keeps files unstaged)
git reset i4ol54f  /  git reset --mixed i4ol54f
Deletes all commits after the specified commit and moves HEAD to that commit (this will get rid of changes so we should be careful)
git reset --hard 004caa3
Deletes the last 3 commits
git reset --hard HEAD~3
git reset
defaults to
--mixed
Adds
index.html
to staging area
git add index.html
Adds
any html file
to staging area
git add *.html
Adds several files to staging area
git add index.html another.html index.php
Adds modified and deleted files only
git add -u  /  git add --update
Adds modified and new files only (but not new files without names)
git add *
Adds all the changes - modified, new and deleted files (
-A
is a short handhand notation for
--all
)
git add .  /  git add --all  /  git add -A
Adds all files including files with no names (ignores deleted files)
git add . --no-all  / git add . --ignore-removal
If we want to commit only part of changes of the same file
--patch
or
-p
is used
git add --patch   /   git add -p
Possible answers for the command:
y
stage this hunk for the next commit
n
do not stage this hunk for the next commit
q
quit; do not stage this hunk or any of the remaining hunks
a
stage this hunk and all later hunks in the file
d
do not stage this hunk or any of the later hunks in the file ... The complete list of the possible answers is on the link of the note
The git status lists which files are staged, unstaged, and untracked. Outputs in the short-format
git status -s  /  git status --short
Outputs in an easy-to-parse format for scripts
git status --porcelain
Outputs in the long-format (default)
git status --long
Outputs on one line
git status -z
Results: 102