Pages

GIT Commands

GIT Tutorials
✓ Version Control

Version Control, also known as Source Control, is the process of tracking and managing changes to files over time. Version Control Systems (VCS) are software tools designed to help teams work in parallel.


✓ How Does Version Control Work ?

Version control systems allow multiple developers, designers, and team members to work together on the same project. It helps them work smarter and faster! A version control system is critical to ensure everyone has access to the latest code and modifications are tracked. As development becomes increasing complex and teams grow, there's a bigger need to manage multiple versions and components of entire products.


✓ 5 Things to Look for Version Control Software
  1. Automation.
  2. Team Collaboration.
  3. Concurrent Development.
  4. Tracked Changes (Who, What, When, Why)
  5. High Availability (or) Disaster Recovery.

✓ GIT Introduction

GIT is a modern and widely used Distributed Version Control System in the Projects. GIT is designed and developed by Linus Torvalds for Linux Kernel Development in 2005. GIT is mainly using Manage Projects with high speed and efficiency. The Version Control System allows us to monitor and work together with Project Team Members.


✓ Life Cycle of GIT
  1. Developer clone the Project from GIT Repository as a working copy.
  2. Developer change the Branch Name of the Project.
  3. Developer modify the working copy by adding (or) editing files.
  4. If necessary, also update the working copy by taking other developer's changes.
  5. Developer review the changes before commit.
  6. Developer commit changes. If everything is fine, then you push the changes to the repository.
  7. After committing, if you realize something is wrong, then you correct the last commit and push the changes to the repository.

✓Different Between GIT and SVN
GIT Repository
  1. GIT is a distributed version control system.
  2. Git is an Source Code Management (SCM).
  3. Git has a cloned Repository.
  4. Git does not have a Global Revision Number.
  5. Git stored content as metadata.
  6. Git has more content protection than SVN.
  7. Linus Torvalds developed git for Linux kernel.
  8. Git is distributed under GNU (General public license).
SVN Repository
  1. SVN is a Centralized Version Control System.
  2. SVN is Revision Control.
  3. SVN does not have a cloned Repository.
  4. SVN has a Global revision number.
  5. SVN stores content as files.
  6. SVN's content is less secure than Git.
  7. CollabNet,Inc developed SVN.
  8. SVN is distributed under the open-source license.

✓ git config
Definition git config command sets the author name and email address respectively to be used with your commits.
Syntax for Author Name git config –global user.name "[name]"
Syntax for Email Address git config –global user.email "[email address]"
Example for Author Name git config –global user.name "JaladhiSoftTechnology"
Example for Email Address git config –global user.email "jaladhisofttechnologies@gmail.com"

✓ git init
Definition git init command is used to start a new repository.
Syntax git init [repository name]
Example git init /home/jaladhisofttechnology/document/jst

✓ git clone
Definition git clone command is used to obtain a repository from an existing URL.
Syntax git clone [url]
Example git clone https://github.com/jaladhisofttech/employee.git

✓ git branch
Definition git branch command lists all the local branches in the current repository.
Syntax git branch
Example git branch

✓ git branch [branch name]
Definition git branch [branch name] command creates a new branch.
Syntax git branch [branch name]
Example git branch JST

✓ git add
Definition git add is used to adds a file to the staging area.
Syntax git add [file]
Example git add employee

✓ git commit
Definition git commit records or snapshots the file permanently in the version history.
Syntax git commit -m "[Type in the commit message]"
Example git commit -m "Updated the Employee Service Class"

✓ git commit -a
Definition git commit -a is used commits any files you have added with the git add command and also commits any files you have changed since then.
Syntax git commit -a
Example git commit -a

✓ git diff
Definition git diff command shows the file differences which are not yet staged.
Syntax git diff
Example git diff

✓ git diff –staged
Definition git diff –staged command shows the differences between the files in the staging area and the latest version present.
Syntax git diff –staged
Example git diff –-staged

✓ git diff [firstBranch] [secondBranch]
Definition git diff [firstBranch] [secondBranch] command shows the differences between the two branches mentioned.
Syntax git diff [firstBranch] [secondBranch]
Example git diff jst jst1

✓ git tag
Definition git tag [commitID] command is used to give tags to the specified commit.
Syntax git tag [commitID]
Example git tag b01775f589389ujghf890382m89nkl0091234

✓ git show
Definition git show [commit] command shows the metadata and content changes of the specified commit.
Syntax git show [commit]
Example git show n091775f589389ujghf890382m89nkl0094

✓ git log
Definition git log command is used to list the version history for the current branch.
Syntax git log
Example git log

✓ git log –follow [file]
Definition git log –follow [file] command lists version history for a file, including the renaming of files also.
Syntax git log –follow [file]
Example git log -–follow jst

✓ git rm
Definition git rm command deletes the file from your working directory and stages the deletion.
Syntax git rm [file]
Example git rm jst

✓ git status
Definition git status command lists all the files that have to be committed.
Syntax git status
Example git status

✓ git reset
Definition git reset command unstages the file, but it preserves the file contents.
Syntax git reset [file]
Example git reset jst.css

✓ git reset [commit]
Definition git reset [commit] command undoes all the commits after the specified commit and preserves the changes locally.
Syntax git reset [commit]
Example git reset u89ijk09836472nhbgf7483920

✓ git reset -hard [commit]
Definition git reset [commit] command discards all history and goes back to the specified commit.
Syntax git reset --hard [commit]
Example git reset u89ijk09836472nhbgf7483d3210

✓ git reset -soft [commit]
Definition git reset [commit] command discards some history and goes back to the specified commit.
Syntax git reset --soft [commit]
Example git reset u89ijk09836472nhbgf673h889m83920

✓ git branch -d [branch name]
Definition git branch -d [branch name] command deletes the feature branch.
Syntax git branch -d [branch name]
Example git branch -d jst

✓ git checkout [branch name]
Definition git checkout [branch name] command is used to switch from one branch to another branch.
Syntax git checkout [branch name]
Example git checkout jst

✓ git checkout -b [branch name]
Definition git checkout -b [branch name] command creates a new branch and also switches to it.
Syntax git checkout -b [branch name]
Example git checkout -b jst

✓ git merge
Definition git merge command merges the specified branch’s history into the current branch.
Syntax git merge [branch name]
Example git merge jst

✓ git remote
Definition git remote command is used to connect your local repository to the remote server.
Syntax git remote add [variable name] [Remote Server Link]
Example git remote add origin https://github.com/jaladhisofttech/jst.git

✓ git push
Definition git push command sends the committed changes of master branch to your remote repository.
Syntax git push [variable name] master
Example git push origin master

✓ git push [variable name] [branch]
Definition git push [variable name] [branch] command sends the branch commits to your remote repository.
Syntax git push [variable name] [branch]
Example git push origin master

✓ git push -all [variable name]
Definition git push -all [variable name] command pushes all branches to your remote repository.
Syntax git push –all [variable name]
Example git push --all origin

✓ git push [variable name] : [branch name]
Definition git push [variable name] : [branch name] command deletes a branch on your remote repository.
Syntax git push [variable name] : [branch name]
Example git push origin : jst

✓ git pull [Repository Link]
Definition git pull [Repository Link] command fetches and merges changes on the remote server to your working directory.
Syntax git pull [Repository Link]
Example git pull https://github.com/jaladhisofttech/jst.git

✓ git stash save
Definition git stash save command temporarily stores all the modified tracked files.
Syntax git stash save
Example git stash save

✓ git stash pop
Definition git stash pop command restores the most recently stashed files.
Syntax git stash pop
Example git stash pop

✓ git stash list
Definition git stash list command lists all stashed changesets.
Syntax git stash list
Example git stash list

✓ git stash drop
Definition git stash drop command discards the most recently stashed changeset.
Syntax git stash drop
Example git stash drop stash@{0}