Git & Github Commands
Tags: github, git, beginners, codenewbie
Published: 2021-02-03 08:38:14

**Smarter cloning, forking, merging, branching, documenting, sharing, and automating with Git and GitHub and contribute to open source.**
Git is a distributed version control system, originally written by Linus Torvalds in 2005 for and with help from the Linux kernel community.Git is a modern and widely used distributed version control system in the world. It is developed to manage projects with high speed and efficiency. The version control system allows us to monitor and work together with our team members at the same workspace.

# What is Git?
Git is an open-source distributed version control system. It is designed to handle minor to major projects with high speed and efficiency. It is developed to co-ordinate the work among the developers. The version control allows us to track and work together with our team members at the same workspace.
Git is foundation of many services like GitHub and GitLab, but we can use Git without using any other Git services. Git can be used privately and publicly.
Git was created by Linus Torvalds in 2005 to develop Linux Kernel. It is also used as an important distributed version-control tool for the DevOps.
Git is easy to learn, and has fast performance. It is superior to other SCM tools like Subversion, CVS, Perforce, and ClearCase.


The following are some commands which one can use to start with open source.

## Git Cheat Sheet
###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 “username”
Set the email:
$ git config — global user.email “useremail@gmail.com”

###2. Starting a project
**Git init**
Create a local repository:
$ git init
**Git clone**
Make a local copy of the server repository.
$ git clone

###3. Local changes
**Git add**
Add a file to staging (Index) area:
$ git add Filename
Add all files of a repo to staging (Index) area:
$ git add .
**Git commit**
Record or snapshots the file permanently in the version history with a message.
$ git commit -m “ Commit Message”

###4. Track changes
**Git diff**
Track the changes that have not been staged: $ git diff
Track the changes that have staged but not committed:
$ git diff — staged
Track the changes after committing a file:
$ git diff HEAD
Track the changes between two commits:
$ git diff Git Diff Branches:
$ git diff < branch 2>
**Git status**
Display the state of the working directory and the staging area.
$ git status
Git show Shows objects:
$ git show

###5. Commit History
**Git log**
Display the most recent commits and the status of the head:
$ git log
Display the output as one commit per line:
$ git log -oneline
Displays the files that have been modified:
$ git log -stat
Display the modified files with location:
$ git log -p
**Git blame**
Display the modification on each line of a file:
$ git blame <file name>

###6. Ignoring files
**.gitignore**
Specify intentionally untracked files that Git should ignore. Create .gitignore:
$ touch .gitignore List the ignored files.

###7. Branching
**Git branch Create branch:**
$ git branch List Branch:
$ git branch — list Delete a Branch:
$ git branch -d Delete a remote Branch:
$ git push origin -delete Rename Branch:
$ git branch -m
**Git checkout**
Switch between branches in a repository.
Switch to a particular branch:
$ git checkout
Create a new branch and switch to it:
$ git checkout -b Checkout a Remote branch:
$ git checkout

###8. Merging
**Git merge**
Merge the branches:
$ git merge
Merge the specified commit to currently active branch:
$ git merge
**Git rebase**
Apply a sequence of commits from distinct branches into a final commit.
$ git rebase
Continue the rebasing process:
$ git rebase -continue Abort the rebasing process:
$ git rebase — skip

###9. Remote
**Git remote**
Check the configuration of the remote server:
$ git remote -v
Add a remote for the repository:
$ git remote add Fetch the data from the remote server:
$ git fetch
**Git origin master**
Push data to the remote server:
$ git push origin master Pull data from remote server:
$ git pull origin master

###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 Force push data:
$ git push -f
Delete a remote branch by push command:
$ git push origin -delete edited

###11. Pulling updates
**Git pull**
Pull the data from the server:
$ git pull origin master
Pull a remote branch:
$ git pull

###12. Undo changes
**Git revert**
Undo the changes:
$ git revert
Revert a particular commit:
$ git revert
**Git reset**
Reset the changes:
$ git reset -hard
$ git reset -soft:
$ git reset — mixed

###13. Removing files
**Git rm**
Remove the files from the working tree and from the index:
$ git rm <file Name>
Remove files from the Git But keep the files in your local repository:
$ git rm — cached

Happy Learning! Explore the open source world.