8 categories of Git
Danyson
Posted on June 25, 2021
You can classify Git version control mechanism into 8 categories.
- Create
- Track
- Revert
- Update
- Publish
- View
- Branch
- Conflict
Below i have given classification of git mechanism along with their important commands.
Create
When it comes to files
git init
git add .
git add <filename>
When it comes to a repository
git clone ~/folder_A ~/folder_B
git clone git://<url>
git clone ssh://<url>
Track
Track is when we want to track our files for commit, update or delete operations.
git add <files> // adds files ready to be commited
git mv <prev_place> <target_place> //moves or renames a file, a directory, or a symlink
git rm <files> //removes files from working directory but adds it to the staging index
git rm --cached <files> //stops tracking but keeps files in working directory
Revert
We use revert when we want to do a new
commit that undoes previous commits.
git reset --hard
The --hard mode is not recoverable so if you want to recover your files after a git reset --hard, follow these Steps
Other modes of reset ->--soft, --mixed, --merge, --recurse-submodules
git revert branch
git commit -a --amend //replaces previous commit
git checkout <commit_id>
Update
Update is when we want to bring changes to our files.
git fetch //from the original repo that you have forked
git fetch remote
git pull //fetch & merge
git am //Apply a series of patches from a mailbox
git apply //Apply a patch to files and/or to the index
Publish
Publish is when we want to establish what we done with our files.
git commit -a //adds all changed files & commits all changes
git format-patch origin //create set of diffs
git push remote //push to origin or remote
git tag //mark current version
View
View is when we want to see the informations about our files.
git status
git diff <old_id> <new_id>
git log -p file|dir
git blame <file>
git show id //meta data & diff
git show < ID | tag | branch_name>
git branch //can list all branches both local and remote
git tag -l //shows list
Branch
The "branch" helps you to create, delete, and list branches.
git checkout branch //switch working dir to branch
git merge branch //merge into current branch
git branch branch_name //branch current
git checkout -b new_branch another_branch //branch new branch from another branch and switch to new branch
Conflict
Conflict arises when two files of same name have different contents so we need to check the difference and maintain our code base without conflicts.
git diff --base //compare working tree with base version
git diff --ours //compare working tree with our branch
git diff --theirs //compare working tree with their branch
git diff --staged //compare with staged changes
git diff HEAD
git diff <commit_1-sha> <commit_2-sha>
git diff <branch_1> < branch_2>
git log
gitk --merge
Reference
Support Us on Buy Me a Coffee
Explore us on Doge Algo
Posted on June 25, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.