Git commands every developer should know
Categories - Git Commands Tags - Git Commands   Maniruzzaman Akash   4 years ago   2113   5 minutes   1

Git commands every developer should know

What is git ?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

This is from git's official documentation.

In one words, git is a version control system of your codes.


Why we should use git ?

We're living in a fast forwarding age. We're now working on agile process and many developers work same project, at the same time. So, there needs a system to combine all of the users code in one or there needs to manage every track of the codes. So that in future, someone can get his older version or make newer version from that. 

So now - git is a very important things for the develoepr, for the organization and for personal projects also.


Essential git commands that every developer should learn :

 Without any more discussion on git commands, I'd like to start direct coding of any git managed project.


 1) First Time Git Bash setup (Only Needs if git credential has been lost) - It is usefull to configure every ones personal git configuration like git email and git name. 

git config ""
git config "UserName"


2) Initialize git in any project (Only First time) - It is usefull to initilize first time git commands. To integrate git version control system in your project, you've to write this. 

git init


3) Add local files to git (For every commit) - To add local files to git version controlling system

git add .


4) Git Commit (For every commit) - To save the commit in github or a part of work in github we need to make a commit. In commit, we can pass any message for this update or this version.

git commit -m "My First Upload to git"


5) Add Remote Repository (For every commit) - Any remote git repository is not connected with the project by default. We need to manually connect that repository. We can use follwing commands to connect to the remote git repository.

git remote add origin


6) Final Push to Master branch (For every commit) - After connecting, adding files, committing changes, we need to push those files to the server or remote repository address.

git push -u origin master


 Full First time Commands: all first time project git commands will be at a glance:

git init
git add .
git commit -m "First Push to remote branch"
git remote add origin
git push -u origin master


 7) Get status of your sync with git - To know the status of your local repository branch to the live repository branch, you need to get this status

git status


 Commands After published one time : To update anything of your git, just follow this three lines of git command. 

git add .
git commit -m "Authentication - Login System Integrated"
git push


First add the all new codes to local by git add, then write the message for this update git commit -m "Authentication  - Login System Integrated",  Here - Authentication Login System Integrated is the message we want to store.


 8) Create New Branch with git - To Create a new Branch and then move to that branch

git branch BranchName // Only create New Branch called BranchName
git checkout BranchName // Move to that Branch called BranchName

git checkout -b BranchName // Create and move to that branch called BranchName

// Real Example (move to master branch)
git checkout master

// Create akash branch and move to that from master branch
git checkout -b akash


 9) Push folders to branch and get that branch with merged - To push changes to any branch

git push BranchName // Push changes to BranchName branch


 10) what is git fetch or pull - To get only the remote data, we need to call git fetch, if we want both fetch and merge, then use git pull

git fetch origin akash // Fetch data from akash branch

git merge origin/akash // Merge data of akash branch

// Both fetch and merge of akash branch
git pull origin/akash

// Only from the current branch remote data
git pull


11) delete any git branch - To delete any github branch: -d branchName

git branch -d BranchName  

git branch -d akash // Remove akash branch


12) Create Tag and Versioning of Codes - To create a code direct versioning of files and direct downloading system of that version we should use git tags

git tag -a TagName -m "Tag Message"

// Real Example
git tag -a 1.0.0 -m "DevsEnv Version 1.0.0"

// Push that tag to the git
git push --follow-tags


 13) Merge Another Branch - To get other branch data in current branch

git fetch origin akash // Git fetch akash branch

git merge origin/akash // Git merge akash branch


14) Full Example of Master Branch Merge - To get the data from other branch and merge from master - here is the full process

git fetch origin akash // akash is the branch name
git merge origin/akash // merge akash branch
git add .              // Add files
git commit -m "Merge Akash Branch - Feature 1" // Commit
git push               // Push


Another Example from Dip Branch

git fetch origin dip // dip is the branch name
git merge origin/dip // merge dip branch
git add .              // Add files
git commit -m "Merge Dip Branch - Feature 2" // Commit
git push               // Push
Note: When any merge happens, it needs to be manually fixed the merge. Like - if two persons work in a project's same file, then their happens of a conflicting that - which parts git will store. And from master or main branch - we've to manully remove that conflict.


To fetch all of the remote branches at single command - 

git fetch --all


15) Full Example of other Branch Merge from master- To get the updated data from master branch and merge in that branch

// Fetch and Merge Master Branch Data
git fetch origin master
git merge origin/master

// Sync with Remote Branch
git add .
git commit -m "Merged with New Services"
git push


 So, these are the basic to advance level github commands every developer should learn as a beginner github expert to pro.

PHP If-else-elseif and Switch-case
PHP String Functions - All necessary String functions in PHP to manage strings better.