KEMBAR78
Learn Git Fundamentals | PDF
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

Learn Git Fundamentals

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    6 Create a workingdirectory 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
  • 7.
  • 8.
    Creating a localrepository 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
  • 9.
  • 10.
    Setting up configurationin 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
  • 11.
  • 12.
  • 13.
    Adding Files togit Repo Command to use: 13 Git add <fileName> Git add . Adds the file to the staging area of the git
  • 14.
    Removing a filefrom git Command to use: 14 Git rm <fileName> Removes the git repository
  • 15.
  • 16.
    Git Status Command Commandto 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: gitstatus -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: Stagethe 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: gitstatus -v Outputs the file in verbose format (Means detailed output) Example: In Comment Section
  • 20.
  • 21.
    Commiting to GitRepo 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”
  • 22.
  • 23.
    Ignoring file ingit Command to use: 23 Create a file call .gitIgnore .gitIgnore will ignore files in a git repository. Files are excluded based on wildcard pattern!
  • 24.
  • 25.
  • 26.
  • 27.
    Tag in Git Commandto 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 Lightweighttags 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
  • 29.
  • 30.
    Branches Command to use: 30 Gitbranch <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 touse: 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.
  • 32.
  • 33.
  • 34.
    Rebasing Command to use: 34 Gitrebase <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.
  • 36.
  • 37.
    Log Command Command touse: 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.
  • 38.
  • 39.
    Clone Command Command touse: 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 Commandto 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
  • 41.
  • 42.
    Tracking a repo Commandto use: 42 Git remote -v Shows the remote server that are being tracked for the current repository.
  • 43.
    Fetch from Repo Commandto 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 RemoteRepositories 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.
  • 45.
  • 46.
  • 47.
    .git folder ▪ HEAD ▪index ▪ Config ▪ Description ▪ COMMIT_EDITMSG ▪ Refs ▪ Objects ▪ Logs ▪ Info ▪ hooks 47
  • 48.
  • 49.
    49 Our Journey Milestone 1Milestone 2 }Testing Module Commands + POM Framework Milestone 3 Milestone 4
  • 50.
    50 Unit Test API Tests UITests Publish Postman And Rest Assured Selenium Tests Docker image }sonar Code Quality