SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Introduction to Git
10/2/2013
Rick Umali
rickumali@gmail.com
@rickumali
http://tech.rickumali.com/
This presentation is on Google Drive at:
http://sn.im/git-talk-2013
There you can read the 'speaker notes' for this
presentation.
What is Source Control?
Source code control is the most important
practice a coding professional can do.
A mechanism to track changes in source code.
Used for version history, auditing, and
recovery.
Revision Control Example: Wiki
Revision Control Example: Git
You’ll learn how to make a repository like this.
Git
Git is an open source, distributed version
control system designed for speed and
efficiency.
Freedom
No "server" required
Unique architecture
Warning: Command Line Ahead
Our Example: A Basic Drupal Module
Creating a Repository
% cd web/sites/all/modules
% mkdir dumpstamp
% cd dumpstamp
% git init
"git init" creates the entire Git repository.
No server interaction required!
Committing Your First File
To 'commit' means 'to save the state' of your
work. You must first 'add' this change to the
'staging area'.
% vi README.txt
% git add README.txt
% git commit -m "First commit. README file."
Commit often!
Looking at the Repository History
% git log
% gitk
Adding More Files
% vi dumpstamp.info dumpstamp.module
% git status
% git add .
% git commit
or
% git commit -a -m “My commit message.”
Learn the shortcuts by reading Git docs.
Examining Changes to Files
% vi dumpstamp.module
% git status
% git diff
% git add dumpstamp.module
% git commit
% git log
Become familiar with Git status and diff
output.
Make your commit messages meaningful!
Looking at the Log Again
The history can be examined different ways.
% git log --format=short
% git log --format=oneline
% git log --oneline
Revisiting History
You can 'revisit' any point of your history.
% git checkout SHA_ID
Checkout makes the working directory match
the state of the specific SHA_ID.
This is a time machine!
Returning to the Present
At all times, Git retains a pointer to the
‘present’.
% git checkout master
Branching and Merging Next, But...
What we have covered so far is probably 70-
80% of what you will do with git.
Adding and committing files are the heart of
git (and any version control system).
Git encourages experimentation, by making
branching very easy!
Branching
Branching: git branch
% git branch BRANCH
% git checkout BRANCH
This makes a branch from “where you
currently are”, and then “switches” (checks
out) the branch.
“git branch” tells you what branch you’re on.
Branching: Starting State
SHA 1Amaster
NOTE: 'master' is a branch that's created 'by default'.
Branching: Make Some Changes
SHA 1A
SHA 2Bmaster
git commit
Branching: Making a Branch
SHA 1A
SHA 2Bmaster branch1
git branch branch1
git checkout branch1
OR git checkout -b branch1
Branching: Changes on the Branch
SHA 1A
SHA 2Bmaster
SHA 3C
(Make changes in "branch1".)
git commit
branch1
Branching: Making a New Branch
SHA 1A
SHA 2Bmaster
SHA 3C
git checkout master
git checkout -b branch2
branch1
branch2
Branching: Changes on another
Branch
SHA 1A
SHA 2Bmaster
branch2SHA 4D
(Make changes in "branch2".)
git commit
branch1 SHA 3C
Visualizing the Branches
Merging
Bringing two branches together.
First 'checkout' the branch you want to merge
into (typically master), then 'merge' in branch.
% git checkout master
% git merge BRANCH
Merging: Starting State
SHA 1A
SHA 2Bmaster
branch2SHA 4Dbranch1 SHA 3C
Merging: Fast-Forward Merge
git checkout master
git merge branch1
SHA 1A
SHA 2B
branch2SHA 4Cmaster, branch1 SHA 3C
Merging: Resolving Conflicts
git merge branch2
SHA 1A
SHA 2B
branch2SHA 4Cbranch1 SHA 3C
SHA 5 master
Merging: The Hard Part
Manual 'merging' may be required.
Visualizing the Merge
Whew!
Using Git “Remotely”
You can upload your local Git repository to a
public Git repository. These repositories are
known as remotes.
Using “remotes” is the key to collaborating.
Visualizing Remotes
Your Repo Bob Repo
GitHub Repo
Uploading New Code to GitHub
Create a repository (on GitHub).
Add a 'remote' (via git remote add).
Upload your code (via git push).
Creating a Repository
git init
Adding a Remote
git remote adds a name for a repo at a
specific URL
git remote add origin git@github.com:rickumali/DumpStamp.
git
Your Repo GitHub Repo
(origin)
Dumpstamp.git
This is just a naming step!
Push Your Repo to the Remote
% git push -u origin master
Visualizing the Push
git push uploads the repository to the remote
Your Repo GitHub Repo
(origin)
Visualizing Remotes (cloning)
Your Repo Bob Repo
GitHub Repo
(origin)
Now Bob can ‘clone’ your repository
clone
Cloning
After the Clone
The Cycle with Remotes
Your Repo Bob Repo
GitHub Repo
(origin)
You Push, Bob “Pulls” (or Fetches/Merges)
pullpush
You Saw and Learned A Lot About Git
Typical Git Commands
Add, Commit, Log, Diff, Status
Branch and Merging
Git Remote Repositories
Next Steps
Install Git
Commit frequently and log verbosely
Experiment (branch) often
Introduction to Git
10/2/2013
Rick Umali
rickumali@gmail.com
@rickumali
http://tech.rickumali.com/
This presentation is on Google Drive at:
http://sn.im/git-talk-2013
There you can read the 'speaker notes' for this
presentation.
Resources
http://sethrobertson.github.io/GitBestPractices/
Great list of Git best practices.
http://git-scm.org/
Both "Pro Git" book, and Git reference
http://gitref.org/
A "quicker" Git reference
http://www-cs-students.stanford.edu/~blynn/gitmagic/
"Friendlier" Git walk-through (git magic).
http://www.mail-archive.com/dri-devel@lists.
sourceforge.net/msg39091.html
Linus on "clean history."
Resources
http://www.youtube.com/watch?v=4XpnKHJAok8
Linus Torvalds (Git creator) (May '07)
http://www.youtube.com/watch?v=8dhZ9BXQgc4
Randal Schwartz (Perl expert and Git old-timer) (Oct
'07)
http://www.youtube.com/watch?v=ZDR433b0HJY
Scott Chacon (Pro Git author) (July '11)

Mais conteúdo relacionado

Mais procurados

The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitE Carter
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHubDSCVSSUT
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - GitCarlo Bernaschina
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Simplilearn
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierChristoph Matthies
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and GithubHouari ZEGAI
 
Git Basics at Rails Underground
Git Basics at Rails UndergroundGit Basics at Rails Underground
Git Basics at Rails UndergroundAriejan de Vroom
 
Recovering From Git Mistakes - Nina Zakharenko
Recovering From Git Mistakes - Nina ZakharenkoRecovering From Git Mistakes - Nina Zakharenko
Recovering From Git Mistakes - Nina ZakharenkoNina Zakharenko
 
Git and GitHub crash course
Git and GitHub crash courseGit and GitHub crash course
Git and GitHub crash courseMireia Sangalo
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use ItDaniel Kummer
 
Stable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code ReviewStable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code ReviewLuca Milanesio
 
Git Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and TagsGit Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and TagsMikhail Melnik
 

Mais procurados (20)

The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
Git & Github
Git & GithubGit & Github
Git & Github
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHub
 
Git Tricks
Git TricksGit Tricks
Git Tricks
 
Introduction to Git (part 1)
Introduction to Git (part 1)Introduction to Git (part 1)
Introduction to Git (part 1)
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - Git
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Git Basics at Rails Underground
Git Basics at Rails UndergroundGit Basics at Rails Underground
Git Basics at Rails Underground
 
Recovering From Git Mistakes - Nina Zakharenko
Recovering From Git Mistakes - Nina ZakharenkoRecovering From Git Mistakes - Nina Zakharenko
Recovering From Git Mistakes - Nina Zakharenko
 
Git-r-Done
Git-r-DoneGit-r-Done
Git-r-Done
 
Git and GitHub crash course
Git and GitHub crash courseGit and GitHub crash course
Git and GitHub crash course
 
Git presentation
Git presentationGit presentation
Git presentation
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Git
GitGit
Git
 
Stable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code ReviewStable master workflow with Gerrit Code Review
Stable master workflow with Gerrit Code Review
 
Git Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and TagsGit Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and Tags
 

Destaque

Finding Success: Social Media
Finding Success: Social MediaFinding Success: Social Media
Finding Success: Social MediaCraig Daitch
 
SEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshopSEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshopIan Lurie
 
NZ Social Media State of the Nation 2015
NZ Social Media State of the Nation 2015NZ Social Media State of the Nation 2015
NZ Social Media State of the Nation 2015Simon Young
 
How Nonprofit Communicators Combine Goals for 2013
How Nonprofit Communicators Combine Goals for 2013How Nonprofit Communicators Combine Goals for 2013
How Nonprofit Communicators Combine Goals for 2013Kivi Leroux Miller
 
NRG Shipping Solutions Overview
NRG Shipping Solutions OverviewNRG Shipping Solutions Overview
NRG Shipping Solutions OverviewNRG Software
 
Ari Zilka Cluster Architecture Patterns
Ari Zilka Cluster Architecture PatternsAri Zilka Cluster Architecture Patterns
Ari Zilka Cluster Architecture Patternsdeimos
 
My 2nd Grader's App Idea - Who wants in ? The road puzzle game
My 2nd Grader's App Idea - Who wants in ? The road puzzle gameMy 2nd Grader's App Idea - Who wants in ? The road puzzle game
My 2nd Grader's App Idea - Who wants in ? The road puzzle gameShashi Bellamkonda
 
Using GO's to Improve Student Learning
Using GO's to Improve Student LearningUsing GO's to Improve Student Learning
Using GO's to Improve Student LearningJim Ellis
 
Experience Learning Live
Experience Learning LiveExperience Learning Live
Experience Learning Livedarkwing1876
 
Advanced SEO - Huzzah seminar
Advanced SEO - Huzzah seminarAdvanced SEO - Huzzah seminar
Advanced SEO - Huzzah seminarIan Lurie
 
2007 development of a who growth reference for school aged children and adole...
2007 development of a who growth reference for school aged children and adole...2007 development of a who growth reference for school aged children and adole...
2007 development of a who growth reference for school aged children and adole...Raul Rojas
 
The Black List - Vol. 1 - Social Media Masters
The Black List - Vol. 1 - Social Media MastersThe Black List - Vol. 1 - Social Media Masters
The Black List - Vol. 1 - Social Media MastersMichael Street
 
Day 2 2nd_weekcris
Day 2 2nd_weekcrisDay 2 2nd_weekcris
Day 2 2nd_weekcriscristiarnau
 
Les riuades del segle XX
Les riuades del segle XXLes riuades del segle XX
Les riuades del segle XXamestre4
 
Trends In New Media Luncheon at Optsum 2010
Trends In New Media Luncheon at Optsum 2010Trends In New Media Luncheon at Optsum 2010
Trends In New Media Luncheon at Optsum 2010Shashi Bellamkonda
 
Survival Tips for Nonprofit Marketers
Survival Tips for Nonprofit MarketersSurvival Tips for Nonprofit Marketers
Survival Tips for Nonprofit MarketersKivi Leroux Miller
 
Setting Up Your Local Dev Environment
Setting Up Your Local Dev EnvironmentSetting Up Your Local Dev Environment
Setting Up Your Local Dev EnvironmentRick Umali
 

Destaque (20)

Finding Success: Social Media
Finding Success: Social MediaFinding Success: Social Media
Finding Success: Social Media
 
SEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshopSEO Analytics - Huzzah workshop
SEO Analytics - Huzzah workshop
 
NZ Social Media State of the Nation 2015
NZ Social Media State of the Nation 2015NZ Social Media State of the Nation 2015
NZ Social Media State of the Nation 2015
 
How Nonprofit Communicators Combine Goals for 2013
How Nonprofit Communicators Combine Goals for 2013How Nonprofit Communicators Combine Goals for 2013
How Nonprofit Communicators Combine Goals for 2013
 
Onddoak 1 T
Onddoak 1 TOnddoak 1 T
Onddoak 1 T
 
NRG Shipping Solutions Overview
NRG Shipping Solutions OverviewNRG Shipping Solutions Overview
NRG Shipping Solutions Overview
 
Ari Zilka Cluster Architecture Patterns
Ari Zilka Cluster Architecture PatternsAri Zilka Cluster Architecture Patterns
Ari Zilka Cluster Architecture Patterns
 
My 2nd Grader's App Idea - Who wants in ? The road puzzle game
My 2nd Grader's App Idea - Who wants in ? The road puzzle gameMy 2nd Grader's App Idea - Who wants in ? The road puzzle game
My 2nd Grader's App Idea - Who wants in ? The road puzzle game
 
Using GO's to Improve Student Learning
Using GO's to Improve Student LearningUsing GO's to Improve Student Learning
Using GO's to Improve Student Learning
 
Experience Learning Live
Experience Learning LiveExperience Learning Live
Experience Learning Live
 
Bright Ideas
Bright IdeasBright Ideas
Bright Ideas
 
Advanced SEO - Huzzah seminar
Advanced SEO - Huzzah seminarAdvanced SEO - Huzzah seminar
Advanced SEO - Huzzah seminar
 
2007 development of a who growth reference for school aged children and adole...
2007 development of a who growth reference for school aged children and adole...2007 development of a who growth reference for school aged children and adole...
2007 development of a who growth reference for school aged children and adole...
 
The Black List - Vol. 1 - Social Media Masters
The Black List - Vol. 1 - Social Media MastersThe Black List - Vol. 1 - Social Media Masters
The Black List - Vol. 1 - Social Media Masters
 
Video Games and Reader's Advisory
Video Games and Reader's AdvisoryVideo Games and Reader's Advisory
Video Games and Reader's Advisory
 
Day 2 2nd_weekcris
Day 2 2nd_weekcrisDay 2 2nd_weekcris
Day 2 2nd_weekcris
 
Les riuades del segle XX
Les riuades del segle XXLes riuades del segle XX
Les riuades del segle XX
 
Trends In New Media Luncheon at Optsum 2010
Trends In New Media Luncheon at Optsum 2010Trends In New Media Luncheon at Optsum 2010
Trends In New Media Luncheon at Optsum 2010
 
Survival Tips for Nonprofit Marketers
Survival Tips for Nonprofit MarketersSurvival Tips for Nonprofit Marketers
Survival Tips for Nonprofit Marketers
 
Setting Up Your Local Dev Environment
Setting Up Your Local Dev EnvironmentSetting Up Your Local Dev Environment
Setting Up Your Local Dev Environment
 

Semelhante a Introduction to Git

Getting Into Git
Getting Into GitGetting Into Git
Getting Into GitRick Umali
 
Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015Nina Zakharenko
 
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 ArticlePRIYATHAMDARISI
 
Hacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHubHacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHubDSC GVP
 
Git slides
Git slidesGit slides
Git slidesNanyak S
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshopthemystic_ca
 
Collaborative development with Git | Workshop
Collaborative development with Git | WorkshopCollaborative development with Git | Workshop
Collaborative development with Git | WorkshopAnuchit Chalothorn
 
Improving your workflow with git
Improving your workflow with gitImproving your workflow with git
Improving your workflow with gitDídac Ríos
 
git-commands-cheat-sheet-infopediya-com.pdf
git-commands-cheat-sheet-infopediya-com.pdfgit-commands-cheat-sheet-infopediya-com.pdf
git-commands-cheat-sheet-infopediya-com.pdfmurad khan
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control SystemVictor Wong
 
Git for Beginners
Git for BeginnersGit for Beginners
Git for BeginnersRick Umali
 

Semelhante a Introduction to Git (20)

Getting Into Git
Getting Into GitGetting Into Git
Getting Into Git
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
 
Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015
 
Git
GitGit
Git
 
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
 
Hacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHubHacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHub
 
Subversion to Git Migration
Subversion to Git MigrationSubversion to Git Migration
Subversion to Git Migration
 
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
 
Github
GithubGithub
Github
 
Git slides
Git slidesGit slides
Git slides
 
Git presentation
Git presentationGit presentation
Git presentation
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
 
Collaborative development with Git | Workshop
Collaborative development with Git | WorkshopCollaborative development with Git | Workshop
Collaborative development with Git | Workshop
 
Improving your workflow with git
Improving your workflow with gitImproving your workflow with git
Improving your workflow with git
 
git-commands-cheat-sheet-infopediya-com.pdf
git-commands-cheat-sheet-infopediya-com.pdfgit-commands-cheat-sheet-infopediya-com.pdf
git-commands-cheat-sheet-infopediya-com.pdf
 
Git Tech Talk
Git  Tech TalkGit  Tech Talk
Git Tech Talk
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
 
Git for Beginners
Git for BeginnersGit for Beginners
Git for Beginners
 
GIT By Sivakrishna
GIT By SivakrishnaGIT By Sivakrishna
GIT By Sivakrishna
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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 CVKhem
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Introduction to Git

  • 1. Introduction to Git 10/2/2013 Rick Umali rickumali@gmail.com @rickumali http://tech.rickumali.com/ This presentation is on Google Drive at: http://sn.im/git-talk-2013 There you can read the 'speaker notes' for this presentation.
  • 2. What is Source Control? Source code control is the most important practice a coding professional can do. A mechanism to track changes in source code. Used for version history, auditing, and recovery.
  • 4. Revision Control Example: Git You’ll learn how to make a repository like this.
  • 5. Git Git is an open source, distributed version control system designed for speed and efficiency. Freedom No "server" required Unique architecture
  • 7. Our Example: A Basic Drupal Module
  • 8. Creating a Repository % cd web/sites/all/modules % mkdir dumpstamp % cd dumpstamp % git init "git init" creates the entire Git repository. No server interaction required!
  • 9. Committing Your First File To 'commit' means 'to save the state' of your work. You must first 'add' this change to the 'staging area'. % vi README.txt % git add README.txt % git commit -m "First commit. README file." Commit often!
  • 10. Looking at the Repository History % git log % gitk
  • 11. Adding More Files % vi dumpstamp.info dumpstamp.module % git status % git add . % git commit or % git commit -a -m “My commit message.” Learn the shortcuts by reading Git docs.
  • 12. Examining Changes to Files % vi dumpstamp.module % git status % git diff % git add dumpstamp.module % git commit % git log Become familiar with Git status and diff output. Make your commit messages meaningful!
  • 13. Looking at the Log Again The history can be examined different ways. % git log --format=short % git log --format=oneline % git log --oneline
  • 14. Revisiting History You can 'revisit' any point of your history. % git checkout SHA_ID Checkout makes the working directory match the state of the specific SHA_ID. This is a time machine!
  • 15. Returning to the Present At all times, Git retains a pointer to the ‘present’. % git checkout master
  • 16. Branching and Merging Next, But... What we have covered so far is probably 70- 80% of what you will do with git. Adding and committing files are the heart of git (and any version control system).
  • 17. Git encourages experimentation, by making branching very easy! Branching
  • 18. Branching: git branch % git branch BRANCH % git checkout BRANCH This makes a branch from “where you currently are”, and then “switches” (checks out) the branch. “git branch” tells you what branch you’re on.
  • 19. Branching: Starting State SHA 1Amaster NOTE: 'master' is a branch that's created 'by default'.
  • 20. Branching: Make Some Changes SHA 1A SHA 2Bmaster git commit
  • 21. Branching: Making a Branch SHA 1A SHA 2Bmaster branch1 git branch branch1 git checkout branch1 OR git checkout -b branch1
  • 22. Branching: Changes on the Branch SHA 1A SHA 2Bmaster SHA 3C (Make changes in "branch1".) git commit branch1
  • 23. Branching: Making a New Branch SHA 1A SHA 2Bmaster SHA 3C git checkout master git checkout -b branch2 branch1 branch2
  • 24. Branching: Changes on another Branch SHA 1A SHA 2Bmaster branch2SHA 4D (Make changes in "branch2".) git commit branch1 SHA 3C
  • 26. Merging Bringing two branches together. First 'checkout' the branch you want to merge into (typically master), then 'merge' in branch. % git checkout master % git merge BRANCH
  • 27. Merging: Starting State SHA 1A SHA 2Bmaster branch2SHA 4Dbranch1 SHA 3C
  • 28. Merging: Fast-Forward Merge git checkout master git merge branch1 SHA 1A SHA 2B branch2SHA 4Cmaster, branch1 SHA 3C
  • 29. Merging: Resolving Conflicts git merge branch2 SHA 1A SHA 2B branch2SHA 4Cbranch1 SHA 3C SHA 5 master
  • 30. Merging: The Hard Part Manual 'merging' may be required.
  • 32. Whew!
  • 33. Using Git “Remotely” You can upload your local Git repository to a public Git repository. These repositories are known as remotes. Using “remotes” is the key to collaborating.
  • 34. Visualizing Remotes Your Repo Bob Repo GitHub Repo
  • 35. Uploading New Code to GitHub Create a repository (on GitHub). Add a 'remote' (via git remote add). Upload your code (via git push).
  • 37. Adding a Remote git remote adds a name for a repo at a specific URL git remote add origin git@github.com:rickumali/DumpStamp. git Your Repo GitHub Repo (origin) Dumpstamp.git This is just a naming step!
  • 38. Push Your Repo to the Remote % git push -u origin master
  • 39. Visualizing the Push git push uploads the repository to the remote Your Repo GitHub Repo (origin)
  • 40. Visualizing Remotes (cloning) Your Repo Bob Repo GitHub Repo (origin) Now Bob can ‘clone’ your repository clone
  • 43. The Cycle with Remotes Your Repo Bob Repo GitHub Repo (origin) You Push, Bob “Pulls” (or Fetches/Merges) pullpush
  • 44. You Saw and Learned A Lot About Git Typical Git Commands Add, Commit, Log, Diff, Status Branch and Merging Git Remote Repositories
  • 45. Next Steps Install Git Commit frequently and log verbosely Experiment (branch) often
  • 46. Introduction to Git 10/2/2013 Rick Umali rickumali@gmail.com @rickumali http://tech.rickumali.com/ This presentation is on Google Drive at: http://sn.im/git-talk-2013 There you can read the 'speaker notes' for this presentation.
  • 47. Resources http://sethrobertson.github.io/GitBestPractices/ Great list of Git best practices. http://git-scm.org/ Both "Pro Git" book, and Git reference http://gitref.org/ A "quicker" Git reference http://www-cs-students.stanford.edu/~blynn/gitmagic/ "Friendlier" Git walk-through (git magic). http://www.mail-archive.com/dri-devel@lists. sourceforge.net/msg39091.html Linus on "clean history."
  • 48. Resources http://www.youtube.com/watch?v=4XpnKHJAok8 Linus Torvalds (Git creator) (May '07) http://www.youtube.com/watch?v=8dhZ9BXQgc4 Randal Schwartz (Perl expert and Git old-timer) (Oct '07) http://www.youtube.com/watch?v=ZDR433b0HJY Scott Chacon (Pro Git author) (July '11)