SlideShare a Scribd company logo
1
Why Git
2
Before Git?
3
Source Control
with Git
4
Understanding
the Git File
System
5
6
Create a working directory mkdir my_app
C:UsersjatinDesktopmy_app
Working directory
.gitgit init
touch
readme.md
Staging Area git add .
Branch(master)
git commit
Branch
(feature)
git branch feature
Creating a Local
Repository
7
Creating a local repository
Command to use:
8
git init
Example:
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1
$ git init
Creates a new git repository in a particular folder.
OR
Creates a new local repository with the specified name
Configuration
of Git
9
Setting up configuration in git
Command to use:
10
git config --global user.name <name>
git config --global.email <email>
Example:
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master)
$ git config --global user.name "Jatin Sharma"
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master)
$ git config --global user.email "jatinvsharma@gmail.com"
Sets up the identity for a user in the repository
Adding files to
Git Repo
11
git add
12
Working directory
.git
Staging Area git add .
Adding Files to git Repo
Command to use:
13
Git add <fileName>
Git add .
Adds the file to the staging area of the git
Removing a file from git
Command to use:
14
Git rm <fileName>
Removes the git repository
GIT Status
15
Git Status Command
Command to use:
16
git status
git status -s
git status -v
Example 1:
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master)
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage)
new file: src1/demo.txt
new file: src2/demo.txt
new file: src3/demo.txt
Shows the state of your staged and unstaged files.
Example 2
17
Command: git status -s
Outputs the file in shortend format
Example:
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master)
$ git status -s
A src1/demo.txt
A src2/demo.txt
A src3/demo.txt
?? readme.txt
A: Files are staged
??: Files are not tracked
Example 3
18
Example: Stage the new file using git add readme.txt
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master)
$ git status -s
A src1/demo.txt
A src2/demo.txt
A src3/demo.txt
A readme.txt
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1
(master)
$ echo "jatin" >>readme.txt
jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1
(master)
$ git status -s
AM readme.txt
A src1/demo.txt
A src2/demo.txt
A src3/demo.txt
Example 4
19
Command: git status -v
Outputs the file in verbose format (Means detailed output)
Example:
In Comment Section
Commit to Git
Repo
20
Commiting to Git Repo
Command to use:
21
Git commit
Git commit -m “Commit Message”
Git commit -a -m “Message”
Long Way:
Opens a text editor so that you right your commit message!
Shorter Way:
Git commit -m “Commit Message”
Git commit -a -m “Message”
.gitIgnore
22
Ignoring file in git
Command to use:
23
Create a file call .gitIgnore
.gitIgnore will ignore files in a git repository.
Files are excluded based on wildcard pattern!
QUIZ
24
Click here
ADVANCE GIT
25
Tagging in Git
26
Tag in Git
Command to use:
27
git tag -a [tag] -m "msg"
A TAG is used to mark a specific commit in your project.
Eg Version Number.
Two Types of Tag in Git:
1. Annotated Tags
2. Lightweight Tags
Annotated Vs LightWeight
Lightweight tags are just pointers to specific commits. No further information is
saved.
Annotated tags are regular objects, which have an author and a date and can be
referred.
If knowing who tagged what and when is relevant for you, then use annotated
tags.
If you just want to tag a specific point in your development, no matter who and
when did that, then lightweight tags are good enough.
Mostly All companies used Annotated Tags
28
Branches
29
Branches
Command to use:
30
Git branch <branch Name>
Git Checkout <Branch Name>
This is helpful so that you can work on a different development line
without altering your stable line of work.
Merging Branches
Command to use:
31
Git branch <branch Name>
Git Checkout <Branch Name>
This is helpful so that you can work on a different development line
without altering your stable line of work.
Solving Merge
Conflict
32
Rebasing
33
Alternate of Merging
Rebasing
Command to use:
34
Git rebase <branch Name>
Git Checkout <Branch Name>
Rebasing and merging are both designed to integrate changes
from one branch into another branch but in different ways.
You would likely use a rebase method of applying changes when you want
to push your own work to a remote repository
35
Logs in Git
36
Log Command
Command to use:
37
Git log
Git log --graph
Git log --stat
use the built-in logging functionality of git to keep track of what's going
on with the repository. We will use the git log command and some of its
more common options to format the log's output.
Cloning Repos
38
Clone Command
Command to use:
39
Git clone <localrepo> <new repo>
clone a local repository as a backup or as a testing ground for features or database
work
Clone usin HTTPS
Command to use:
40
Git clone <url>
clone remote repositories from popular sites such as GitHub onto your local system. We will clone over
HTTPS, and show you what you get when you clone a project
Push Request
41
Tracking a repo
Command to use:
42
Git remote -v
Shows the remote server that are being tracked for the current repository.
Fetch from Repo
Command to use:
43
Git fetch origin
Fetches new commit information from the remote server (eg github,gitlab) for the current repository.
It will not merge the files automatically on your local system.
If you want to pull automatically you need to use the git pull command.
Pushing to Remote Repositories
Command to use:
44
Git push -u <remote> <local>
Fetches new commit information from the remote server (eg github,gitlab) for the current repository.
It will not merge the files automatically on your local system.
If you want to pull automatically you need to use the git pull command.
Setting Up
GitLab
45
.git
folder
46
.git folder
▪ HEAD
▪ index
▪ Config
▪ Description
▪ COMMIT_EDITMSG
▪ Refs
▪ Objects
▪ Logs
▪ Info
▪ hooks
47
About my Course
48
49
Our Journey
Milestone 1 Milestone 2
}Testing
Module
Commands +
POM Framework
Milestone 3 Milestone 4
50
Unit
Test
API Tests UI Tests Publish
Postman
And Rest Assured
Selenium Tests
Docker image
}sonar
Code Quality

More Related Content

PPTX
Web Programming - Git basics
PDF
Git 101 Workshop
PDF
Version Control & Git
PDF
News from Git in Eclipse - EclipseCon EU - 2016-10-26
PPTX
Git & git hub
PDF
Version Control with Git
PDF
Advance workshop on git
PPTX
Extra bit with git
Web Programming - Git basics
Git 101 Workshop
Version Control & Git
News from Git in Eclipse - EclipseCon EU - 2016-10-26
Git & git hub
Version Control with Git
Advance workshop on git
Extra bit with git

What's hot (19)

PPTX
TinkerPop and Titan from a Python State of Mind
PDF
Version Control System - Git
PDF
Tài liệu sử dụng GitHub
PPTX
Extra bit with git
PPTX
Introduction to GIT versioning
PDF
Git and GitHub
PPTX
Git commands
ODP
Git tech talk
PDF
Git cheat sheet
PDF
Version Control with Git & GitHub
PDF
Introducing Git and git flow
PDF
Git 入门与实践
PPTX
Graph Day Texas: Open Source Graph Projects from PokitDok
PPTX
Git_and_GitHub Integration_with_Guidewire
PDF
Git & github
PDF
Improving your workflow with git
PDF
Contributing to open source using Git
PDF
Introduction To Git
TinkerPop and Titan from a Python State of Mind
Version Control System - Git
Tài liệu sử dụng GitHub
Extra bit with git
Introduction to GIT versioning
Git and GitHub
Git commands
Git tech talk
Git cheat sheet
Version Control with Git & GitHub
Introducing Git and git flow
Git 入门与实践
Graph Day Texas: Open Source Graph Projects from PokitDok
Git_and_GitHub Integration_with_Guidewire
Git & github
Improving your workflow with git
Contributing to open source using Git
Introduction To Git
Ad

Similar to Learn Git Fundamentals (20)

PPTX
Git & GitHub 101farwsfrwvnfuvnvjvvv.pptx
PDF
Git Commands Every Developer Should Know?
PDF
Collaborative development with Git | Workshop
PPTX
Git and GitHub Presentation of GDG on Campus UNSTPB
PDF
Git cheat-sheets
PPTX
Git and GitHub Workshop of GDG on Campus UNSTPB
PPTX
Git and GitHub workshop of GDG on Campus UNSTPB
PDF
Git Init (Introduction to Git)
PDF
Intro to Git and GitHub
PPTX
Git and GitHub Workshop of GDG on Campus UNSTPB
PPTX
GitHub and Open Source - GDGoC MIT Anna University
PDF
Git Version Control System
PDF
PPTX
GIT & Github introduction for beginners
PDF
Version Control Systems Software Engineering
ODP
Git presentation
PDF
Git 入门 与 实践
PPTX
Introduction to Git.pptx
PPTX
Grokking opensource with github
PDF
git-commands-cheat-sheet-infopediya-com.pdf
Git & GitHub 101farwsfrwvnfuvnvjvvv.pptx
Git Commands Every Developer Should Know?
Collaborative development with Git | Workshop
Git and GitHub Presentation of GDG on Campus UNSTPB
Git cheat-sheets
Git and GitHub Workshop of GDG on Campus UNSTPB
Git and GitHub workshop of GDG on Campus UNSTPB
Git Init (Introduction to Git)
Intro to Git and GitHub
Git and GitHub Workshop of GDG on Campus UNSTPB
GitHub and Open Source - GDGoC MIT Anna University
Git Version Control System
GIT & Github introduction for beginners
Version Control Systems Software Engineering
Git presentation
Git 入门 与 实践
Introduction to Git.pptx
Grokking opensource with github
git-commands-cheat-sheet-infopediya-com.pdf
Ad

Recently uploaded (20)

PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
RMMM.pdf make it easy to upload and study
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Cell Types and Its function , kingdom of life
PDF
Pre independence Education in Inndia.pdf
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Supply Chain Operations Speaking Notes -ICLT Program
Microbial disease of the cardiovascular and lymphatic systems
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Pharma ospi slides which help in ospi learning
RMMM.pdf make it easy to upload and study
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
TR - Agricultural Crops Production NC III.pdf
GDM (1) (1).pptx small presentation for students
Cell Types and Its function , kingdom of life
Pre independence Education in Inndia.pdf
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
O7-L3 Supply Chain Operations - ICLT Program
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
2.FourierTransform-ShortQuestionswithAnswers.pdf
Cell Structure & Organelles in detailed.
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf

Learn Git Fundamentals

  • 1. 1
  • 6. 6 Create a working directory mkdir my_app C:UsersjatinDesktopmy_app Working directory .gitgit init touch readme.md Staging Area git add . Branch(master) git commit Branch (feature) git branch feature
  • 8. Creating a local repository Command to use: 8 git init Example: jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 $ git init Creates a new git repository in a particular folder. OR Creates a new local repository with the specified name
  • 10. Setting up configuration in git Command to use: 10 git config --global user.name <name> git config --global.email <email> Example: jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master) $ git config --global user.name "Jatin Sharma" jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master) $ git config --global user.email "jatinvsharma@gmail.com" Sets up the identity for a user in the repository
  • 13. Adding Files to git Repo Command to use: 13 Git add <fileName> Git add . Adds the file to the staging area of the git
  • 14. Removing a file from git Command to use: 14 Git rm <fileName> Removes the git repository
  • 16. Git Status Command Command to use: 16 git status git status -s git status -v Example 1: jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master) $ git status On branch master Changes to be committed: (use "git reset HEAD ..." to unstage) new file: src1/demo.txt new file: src2/demo.txt new file: src3/demo.txt Shows the state of your staged and unstaged files.
  • 17. Example 2 17 Command: git status -s Outputs the file in shortend format Example: jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master) $ git status -s A src1/demo.txt A src2/demo.txt A src3/demo.txt ?? readme.txt A: Files are staged ??: Files are not tracked
  • 18. Example 3 18 Example: Stage the new file using git add readme.txt jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master) $ git status -s A src1/demo.txt A src2/demo.txt A src3/demo.txt A readme.txt jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master) $ echo "jatin" >>readme.txt jatin@LAPTOP-LEI7GM17 MINGW64 ~/Desktop/AT-Batch May1 (master) $ git status -s AM readme.txt A src1/demo.txt A src2/demo.txt A src3/demo.txt
  • 19. Example 4 19 Command: git status -v Outputs the file in verbose format (Means detailed output) Example: In Comment Section
  • 21. Commiting to Git Repo Command to use: 21 Git commit Git commit -m “Commit Message” Git commit -a -m “Message” Long Way: Opens a text editor so that you right your commit message! Shorter Way: Git commit -m “Commit Message” Git commit -a -m “Message”
  • 23. Ignoring file in git Command to use: 23 Create a file call .gitIgnore .gitIgnore will ignore files in a git repository. Files are excluded based on wildcard pattern!
  • 27. Tag in Git Command to use: 27 git tag -a [tag] -m "msg" A TAG is used to mark a specific commit in your project. Eg Version Number. Two Types of Tag in Git: 1. Annotated Tags 2. Lightweight Tags
  • 28. Annotated Vs LightWeight Lightweight tags are just pointers to specific commits. No further information is saved. Annotated tags are regular objects, which have an author and a date and can be referred. If knowing who tagged what and when is relevant for you, then use annotated tags. If you just want to tag a specific point in your development, no matter who and when did that, then lightweight tags are good enough. Mostly All companies used Annotated Tags 28
  • 30. Branches Command to use: 30 Git branch <branch Name> Git Checkout <Branch Name> This is helpful so that you can work on a different development line without altering your stable line of work.
  • 31. Merging Branches Command to use: 31 Git branch <branch Name> Git Checkout <Branch Name> This is helpful so that you can work on a different development line without altering your stable line of work.
  • 34. Rebasing Command to use: 34 Git rebase <branch Name> Git Checkout <Branch Name> Rebasing and merging are both designed to integrate changes from one branch into another branch but in different ways. You would likely use a rebase method of applying changes when you want to push your own work to a remote repository
  • 35. 35
  • 37. Log Command Command to use: 37 Git log Git log --graph Git log --stat use the built-in logging functionality of git to keep track of what's going on with the repository. We will use the git log command and some of its more common options to format the log's output.
  • 39. Clone Command Command to use: 39 Git clone <localrepo> <new repo> clone a local repository as a backup or as a testing ground for features or database work
  • 40. Clone usin HTTPS Command to use: 40 Git clone <url> clone remote repositories from popular sites such as GitHub onto your local system. We will clone over HTTPS, and show you what you get when you clone a project
  • 42. Tracking a repo Command to use: 42 Git remote -v Shows the remote server that are being tracked for the current repository.
  • 43. Fetch from Repo Command to use: 43 Git fetch origin Fetches new commit information from the remote server (eg github,gitlab) for the current repository. It will not merge the files automatically on your local system. If you want to pull automatically you need to use the git pull command.
  • 44. Pushing to Remote Repositories Command to use: 44 Git push -u <remote> <local> Fetches new commit information from the remote server (eg github,gitlab) for the current repository. It will not merge the files automatically on your local system. If you want to pull automatically you need to use the git pull command.
  • 47. .git folder ▪ HEAD ▪ index ▪ Config ▪ Description ▪ COMMIT_EDITMSG ▪ Refs ▪ Objects ▪ Logs ▪ Info ▪ hooks 47
  • 49. 49 Our Journey Milestone 1 Milestone 2 }Testing Module Commands + POM Framework Milestone 3 Milestone 4
  • 50. 50 Unit Test API Tests UI Tests Publish Postman And Rest Assured Selenium Tests Docker image }sonar Code Quality