Table of Contents
1. Git configuration
- Git config
Get and set configuration variables that control all facets of how Git looks and operates.
Set the name:
$ git config –global user.name “User name”[/code]
Set the email:
$ git config –global user.email “maixuanviet.com@gmail.com”[/code]
Set the default editor:
$ git config –global core.editor Vim[/code]
Check the setting:
$ git config -list[/code] - Git alias
Set up an alias for each command:
$ git config –global alias.co checkout[/code]
$ git config –global alias.br branch[/code]
$ git config –global alias.ci commit[/code]
$ git config –global alias.st status[/code]
2. Starting a project
- Git init
Create a local repository:
$ git init[/code] - Git clone
Make a local copy of the server repository.
$ git clone[/code]
3. Local changes
- Git add
Add a file to staging (Index) area:
$ git add Filename[/code]
Add all files of a repo to staging (Index) area:
$ git add*[/code] - Git commit
Record or snapshots the file permanently in the version history with a message.
$ git commit -m ” Commit Message”[/code]
4. Track changes
- Git diff
Track the changes that have not been staged:
$ git diff[/code]
Track the changes that have staged but not committed:
$ git diff –staged[/code]
Track the changes after committing a file:
$ git diff HEAD[/code]
Track the changes between two commits:
$ git diff Git Diff Branches:[/code]
$ git diff < branch 2>[/code] - Git status
Display the state of the working directory and the staging area.
$ git status[/code] - Git show Shows objects:
$ git show[/code]
5. Commit History
- Git log
Display the most recent commits and the status of the head:
$ git log[/code]
Display the output as one commit per line:
$ git log -oneline[/code]
Displays the files that have been modified:
$ git log -stat[/code]
Display the modified files with location:
$ git log -p[/code] - Git blame
Display the modification on each line of a file:
$ git blame <file name>[/code]
6. Ignoring files
- .gitignore
Specify intentionally untracked files that Git should ignore. Create .gitignore:
$ touch .gitignore List the ignored files:[/code]
$ git ls-files -i –exclude-standard[/code]
7. Branching
- Git branch Create branch:
$ git branch [/code]
List Branch:
$ git branch –list [/code]
Delete a Branch:
$ git branch -d [/code]
Delete a remote Branch:
$ git push origin -delete [/code]
Rename Branch:
$ git branch -m[/code] - Git checkout
Switch between branches in a repository.
Switch to a particular branch:
$ git checkout[/code]
Create a new branch and switch to it:
$ git checkout -b [/code]
Checkout a Remote branch:
$ git checkout[/code] - Git stash
Switch branches without committing the current branch. Stash current work:
$ git stash[/code]
Saving stashes with a message:
$ git stash save “”[/code]
Check the stored stashes:
$ git stash list[/code]
Re-apply the changes that you just stashed:
$ git stash apply[/code]
Track the stashes and their changes:
$ git stash show[/code]
Re-apply the previous commits:
$ git stash pop[/code]
Delete a most recent stash from the queue:
$ git stash drop[/code]
Delete all the available stashes at once:
$ git stash clear[/code]
Stash work on a separate branch:
$ git stash branch[/code] - Git cherry pic
Apply the changes introduced by some existing commit:
$ git cherry-pick[/code]
8. Merging
- Git merge
Merge the branches:
$ git merge[/code]
Merge the specified commit to currently active branch:
$ git merge[/code] - Git rebase
Apply a sequence of commits from distinct branches into a final commit.
$ git rebase[/code]
Continue the rebasing process:
$ git rebase -continue[/code]
Abort the rebasing process:
$ git rebase –skip[/code] - Git interactive rebase
Allow various operations like edit, rewrite, reorder, and more on existing commits.
$ git rebase -i[/code]
9. Remote
- Git remote
Check the configuration of the remote server:
$ git remote -v[/code]
Add a remote for the repository:
$ git remote add [/code]
Fetch the data from the remote server:
$ git fetch[/code]
Remove a remote connection from the repository:
$ git remote rm[/code]
Rename remote server:
$ git remote rename[/code]
Show additional information about a particular remote:
$ git remote show[/code]
Change remote:
$ git remote set-url[/code] - Git origin master
Push data to the remote server:
$ git push origin master [/code]
Pull data from remote server:
$ git pull origin master[/code]
10. Pushing Updates
- Git push
Transfer the commits from your local repository to a remote server. Push data to the remote server:
$ git push origin master [/code]
Force push data:
$ git push -f[/code]
Delete a remote branch by push command:
$ git push origin -delete edited[/code]
11. Pulling updates
- Git pull
Pull the data from the server:
$ git pull origin master[/code]
Pull a remote branch:
$ git pull[/code] - Git fetch
Download branches and tags from one or more repositories. Fetch the remote repository:
$ git fetch< repository Url> [/code]
Fetch a specific branch:
$ git fetch[/code]
Fetch all the branches simultaneously:
$ git fetch -all[/code]
Synchronize the local repository:
$ git fetch origin[/code]
12. Undo changes
- Git revert
Undo the changes:
$ git revert[/code]
Revert a particular commit:
$ git revert[/code] - Git reset
Reset the changes:
$ git reset -hard[/code]
$ git reset -soft:[/code]
$ git reset –mixed[/code]
13. Removing files
- Git rm
Remove the files from the working tree and from the index:
$ git rm <file Name>[/code]
Remove files from the Git But keep the files in your local repository:
$ git rm –cached[/code]
Related posts:
Git Flow / Git Branching Model
Git Checkout
Git Origin Master
Git Remote
Git Fetch
Git Environment Setup
Git Init
Git Pull / Pull Request
How To Install and Secure phpMyAdmin on Ubuntu
How to Install Git on Windows
Git Repository
Git Commit
Git Tags
Git Squash
Git Reset
GIT Interview Questions
What is GitHub?
Git Stash
Git log
Git vs GitHub
Git Revert
Git Version Control System
Git vs SVN
Git Clone
Design and Architecture of A Robo-Advisor Platform
Git Tutorial
The following signatures couldn’t be verified
Git Fork
Git Cherry-pick
Git Head
Git Add
Git Branch