Git is a distributed version control system (DVCS) that allows multiple developers to collaborate on a project, tracking changes to files and coordinating work seamlessly.
Initializing a Repository:
git init
Cloning a Repository:
git clone -b <branch-name> <url> <folder-name>
Working with Branches:
Create a new branch:
git checkout -b <new-branch>
Switch branches:
git checkout <branch-name>
Create and Switch branches:
git switch -c <new-branch>
List all branches:
git branch
Staging and Committing Changes:
Add files to staging area:
git add .
Commit changes:
git commit -m "message"
View changes before staging:
git diff
Remote Repositories:
Add a remote repository:
git remote add origin <remote-repository-URL>
List all remotes:
git remote -v
Push changes to a remote repository:
git push -u origin <branch-name>
Pull changes from a remote repository:
It fetches changes from the remote repository and immediately tries to merge them into your current branch
git pull origin <branch-name>
Fetch changes from remote repository:
It retrieves new data from a remote repository but does not integrate it into your working files.
git fetch
Stashing Changes:
Stashing in Git allows you to temporarily save changes that are not yet ready to be committed, so we can switch to another branch without losing your progress. It is used when you need to quickly switch contexts or update your working directory without committing incomplete work.
Stash changes:
git stash
Apply stashed changes:
git stash apply
Configuration:
Change user name:
git config --global user.name "name"
Change user email:
git config --global user.email "email"
Reset:
Soft reset:
git reset --soft HEAD^
Moves to the previous commit and discards all changes.
Hard reset:
git reset --hard HEAD^
Moves to the previous commit but keeps all changes.
( HEAD is a reference to the current commit &
notation HEAD^ refers to the parent commit of the current HEAD )
Clone large files
LFS
git lfs install
git clone <url>
Increase buffer size:
git config --global http.postBuffer 1048576000
Top comments (19)
for reset here is 2 commands
git reset --hard HEAD^
git reset --soft HEAD^
Can you explain the use of these commands?
Thanks Syedπ
I have added them in the blogπ
π
He gave you food you still want him to feed you.
How about you make your own research on their functions?
Youβve got your Resets backwards.
Where you say βSoft reset:β you are displaying the git command for HARD.
Where you say βHard reset:β you are displaying the git command for SOFT.
Should beβ¦
Thanks for pointing out. Changedπ
Great post, so much usefull
Thank you so much! I'm glad you found it usefulπ
You're welcome!!
Classic post.
Thank you Julianπ«‘
Pretty usefull. Thanks for sharing!
Thank you π
You said origin but it may another thing.
Yes, but when we clone a repository, the remote name by default is origin unless we change them explicitly.π
Yes you're right but I think you should explain it.
Have a good day. :)