SlideShare une entreprise Scribd logo
1  sur  18
GIT 101
Who invented Git?
QUIZ!
Linus Torvalds
ANSWER
Why is it called
Git?
"the stupid content tracker”
Linus Torvalds has quipped about
the name "git", which is British English
slang for a stupid or unpleasant person:
"I'm an egotistical bastard, and
I name all my projects after myself. First
Linux, now git."
(Note that Torvalds did not in fact name
Linux.)
Central vs Distributed VCS
CENTRAL VCS DISTRIBUTED VCS
Each can act as a serverthe dev team only interacts with the main server
Distributed VCS
Benefits
You can start a repository at any time on your
local computer
Commit history is stored locally
Redundancy - each working copy effectively
functions as a remote backup
How Git stores data?
• most other systems store information as a
list of file-based changes
• Git thinks of its data more like a set of
snapshots of a miniature filesystem
• Every time you commit, or save the state of
your project in Git
• Git thinks about its data more like a stream
of snapshots.
• Git tracks files not folders
The Three
States
states of files
committed
stored in local
repo
modified
changed but not
committed
staged
marked to go
into next commit
Three
sections of
Git project
Hands-on exercise
1. Install Git on Windows
◦ http://git-scm.com
◦ Download and run installer
2. Install Git on Mac
◦ Type in terminal: git version
3. Configure Git
◦ git config –-global user.name “Your Name”
◦ git config --global user.email “your.email@sephora.com”
4. Create local repository
◦ git init
The Basics
→ Open terminal
→ Create a location for the lab
mkdir projects
cd projects
→ Create a repository
git init git-101
ls –al
cd git-101
cd .git
Commit
git status
 Create a file README.md
touch README.md
git add README.md
git commit –m “My first commit”
git log
git show
 Modify README.md
git status
git commit –am “My second
commit”
git log
Backing out changes
 Modify README.md
git status
git add .
 How to unstage changes?
git reset HEAD README.md
git status
 How to revert changes entirely?
git checkout -- README.md
Rename and remove a file
Create a file example.txt
git status
git add example.txt
git commit -m "adding example file"
git mv example.txt demo.txt
ls
git status
git commit -m "renaming example”
git rm demo.txt
git commit -m ”removing demo”
GIT
States
with
Remote
How to
change
Git state
Summary
git init <repo-name>
git status
git add <file1-name> <file2-name>
git commit -m "<Messgae>”
git show
git log
git mv <fil1> <file2>
git rm <file1>
Next Week
Work with remotes
Create Branches
Create Pull Request

Contenu connexe

Tendances

Git Introduction
Git IntroductionGit Introduction
Git Introduction
Gareth Hall
 

Tendances (20)

Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Version Control History and Git Basics
Version Control History and Git BasicsVersion Control History and Git Basics
Version Control History and Git Basics
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
 
Git Basics at Rails Underground
Git Basics at Rails UndergroundGit Basics at Rails Underground
Git Basics at Rails Underground
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git commands
Git commandsGit commands
Git commands
 
Git: basic to advanced
Git: basic to advancedGit: basic to advanced
Git: basic to advanced
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Git 101
Git 101Git 101
Git 101
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Git basics
Git basicsGit basics
Git basics
 
Git basics
Git basicsGit basics
Git basics
 
Learn Git Basics
Learn Git BasicsLearn Git Basics
Learn Git Basics
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Git introduction workshop for scientists
Git introduction workshop for scientists Git introduction workshop for scientists
Git introduction workshop for scientists
 
Git basics
Git basicsGit basics
Git basics
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial I
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
Demo
DemoDemo
Demo
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 

Similaire à Git 101

Source Code Management with Git
Source Code Management with GitSource Code Management with Git
Source Code Management with Git
Things Lab
 

Similaire à Git 101 (20)

Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
 
Git Heaven with Wakanda
Git Heaven with WakandaGit Heaven with Wakanda
Git Heaven with Wakanda
 
Learning git
Learning gitLearning git
Learning git
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
 
Git
GitGit
Git
 
1-Intro to VC & GIT PDF.pptx
1-Intro to VC & GIT PDF.pptx1-Intro to VC & GIT PDF.pptx
1-Intro to VC & GIT PDF.pptx
 
Git introduction
Git introductionGit introduction
Git introduction
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Presentation on Repository Control System
Presentation on Repository Control SystemPresentation on Repository Control System
Presentation on Repository Control System
 
Source Code Management with Git
Source Code Management with GitSource Code Management with Git
Source Code Management with Git
 
Git training with Devaamo
Git training with DevaamoGit training with Devaamo
Git training with Devaamo
 
Git
GitGit
Git
 
Git slides
Git slidesGit slides
Git slides
 
setting up a repository using GIT
setting up a repository using GITsetting up a repository using GIT
setting up a repository using GIT
 
Git hub
Git hubGit hub
Git hub
 
Beginner's guide to git and github
Beginner's guide to git and github Beginner's guide to git and github
Beginner's guide to git and github
 
CraftCamp for Students - Introduction to git
CraftCamp for Students - Introduction to gitCraftCamp for Students - Introduction to git
CraftCamp for Students - Introduction to git
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
CSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITCSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GIT
 
Git is a distributed version control system .
Git is a distributed version control system .Git is a distributed version control system .
Git is a distributed version control system .
 

Plus de Kate Semizhon

Plus de Kate Semizhon (18)

Cracking 1-on-1s
Cracking 1-on-1sCracking 1-on-1s
Cracking 1-on-1s
 
Serverless Pitfalls
Serverless PitfallsServerless Pitfalls
Serverless Pitfalls
 
Seven Facts about Belarus
Seven Facts about BelarusSeven Facts about Belarus
Seven Facts about Belarus
 
How to improve code quality for iOS apps?
How to improve code quality for iOS apps?How to improve code quality for iOS apps?
How to improve code quality for iOS apps?
 
Database Change Management
Database Change ManagementDatabase Change Management
Database Change Management
 
Ecommerce in 2018
Ecommerce in 2018Ecommerce in 2018
Ecommerce in 2018
 
ATG Best Practices
ATG Best Practices ATG Best Practices
ATG Best Practices
 
Oracle ATG Commerce Overview for developers
Oracle ATG Commerce Overview for developers Oracle ATG Commerce Overview for developers
Oracle ATG Commerce Overview for developers
 
How a project is born. Intro to Discovery Phase
How a project is born. Intro to Discovery Phase How a project is born. Intro to Discovery Phase
How a project is born. Intro to Discovery Phase
 
Code Review Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool Evaluation
 
Sonar Review
Sonar ReviewSonar Review
Sonar Review
 
Oracle eCommerce (ATG) Database Best Practices
Oracle eCommerce (ATG) Database  Best Practices Oracle eCommerce (ATG) Database  Best Practices
Oracle eCommerce (ATG) Database Best Practices
 
Unit tests benefits
Unit tests benefitsUnit tests benefits
Unit tests benefits
 
ATG Advanced Profile Management
ATG Advanced Profile ManagementATG Advanced Profile Management
ATG Advanced Profile Management
 
SEO Instruments in ATG
SEO Instruments in ATGSEO Instruments in ATG
SEO Instruments in ATG
 
ATG pipelines
ATG pipelinesATG pipelines
ATG pipelines
 
Common mistakes for ATG applications that affect performance
Common mistakes for ATG applications that affect performanceCommon mistakes for ATG applications that affect performance
Common mistakes for ATG applications that affect performance
 
ATG Advanced RQL
ATG Advanced RQLATG Advanced RQL
ATG Advanced RQL
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Git 101

  • 4. Why is it called Git? "the stupid content tracker” Linus Torvalds has quipped about the name "git", which is British English slang for a stupid or unpleasant person: "I'm an egotistical bastard, and I name all my projects after myself. First Linux, now git." (Note that Torvalds did not in fact name Linux.)
  • 5. Central vs Distributed VCS CENTRAL VCS DISTRIBUTED VCS Each can act as a serverthe dev team only interacts with the main server
  • 6. Distributed VCS Benefits You can start a repository at any time on your local computer Commit history is stored locally Redundancy - each working copy effectively functions as a remote backup
  • 7. How Git stores data? • most other systems store information as a list of file-based changes • Git thinks of its data more like a set of snapshots of a miniature filesystem • Every time you commit, or save the state of your project in Git • Git thinks about its data more like a stream of snapshots. • Git tracks files not folders
  • 8. The Three States states of files committed stored in local repo modified changed but not committed staged marked to go into next commit
  • 10. Hands-on exercise 1. Install Git on Windows ◦ http://git-scm.com ◦ Download and run installer 2. Install Git on Mac ◦ Type in terminal: git version 3. Configure Git ◦ git config –-global user.name “Your Name” ◦ git config --global user.email “your.email@sephora.com” 4. Create local repository ◦ git init
  • 11. The Basics → Open terminal → Create a location for the lab mkdir projects cd projects → Create a repository git init git-101 ls –al cd git-101 cd .git
  • 12. Commit git status  Create a file README.md touch README.md git add README.md git commit –m “My first commit” git log git show  Modify README.md git status git commit –am “My second commit” git log
  • 13. Backing out changes  Modify README.md git status git add .  How to unstage changes? git reset HEAD README.md git status  How to revert changes entirely? git checkout -- README.md
  • 14. Rename and remove a file Create a file example.txt git status git add example.txt git commit -m "adding example file" git mv example.txt demo.txt ls git status git commit -m "renaming example” git rm demo.txt git commit -m ”removing demo”
  • 17. Summary git init <repo-name> git status git add <file1-name> <file2-name> git commit -m "<Messgae>” git show git log git mv <fil1> <file2> git rm <file1>
  • 18. Next Week Work with remotes Create Branches Create Pull Request

Notes de l'éditeur

  1. The Linux kernel is an open source software project of fairly large scope. For most of the lifetime of the Linux kernel maintenance (1991–2002), changes to the software were passed around as patches and archived files. n 2002, the Linux kernel project began using a proprietary DVCS called BitKeeper. In 2005 the Linux kernel community faced a daunting challenge: They could no longer use their revision control system BitKeeper and no other Source Control Management (SCMs) met their needs for a distributed system. Linus Torvalds, the creator of Linux, took the challenge into his own hands and disappeared over the weekend to emerge the following week with Git. Today Git is used for thousands of projects and has ushered in a new level of social coding among programmers. https://www.linux.com/blog/10-years-git-interview-git-creator-linus-torvalds
  2. Central: The limitations here are that you always need to have the latest code on your local repository, and to see the history of changes you will need to ask the server for that information. You also always need to be able to access the remote repository to commit Distributed: Instead of just having one central repository that you send changes to, every committer has their own repository that has the entire commit history of the project. You don't need to connect to a remote repository, the change is just recorded on your local repository. You can still push to a centralised repository but you don't need to. One big benefit of this is that you can start a repository at any time on your local computer.  Another big benefit (perhaps less so with cloud computing now) is redundancy. If one copy of the repository is lost for whatever reason, any of the other repositories will contain the complete history so you could only potentially lose any work since your last push.
  3. https://git-scm.com/book/en/v2/Getting-Started-Git-Basics This is an important distinction between Git and nearly all other VCSs. It makes Git reconsider almost every aspect of version control that most other systems copied from the previous generation. This makes Git more like a mini filesystem with some incredibly powerful tools built on top of it, rather than simply a VCS.
  4. Committed means that the data is safely stored in your local database. Modified means that you have changed the file but have not committed it to your database yet. Staged means that you have marked a modified file in its current version to go into your next commit snapshot.
  5. The Git directory is where Git stores the metadata and object database for your project.  This is the most important part of Git, and it is what is copied when you clone a repository from another computer. The working tree is a single checkout of one version of the project. These files are pulled out of the compressed database in the Git directory and placed on disk for you to use or modify. The staging area is a file, generally contained in your Git directory, that stores information about what will go into your next commit. It’s sometimes referred to as the “index”, but it’s also common to refer to it as the staging area.
  6.  git config --global core.editor "sublime”