SlideShare une entreprise Scribd logo
1  sur  18
Distributed Source Control
For Domino Designer
uxdesign.xpagesbeast.com
Distributed Source Control
•What is version control?
•Who is it for?
•How does it help?
Distributed Source Control
• LocalVersion Control Systems
• CentralizedVersion Control Systems
• DistributedVersion Control Systems
Distributed Source Control
LocalVersion Control System
File Server
Detached Storage
On your computer in
Separate folders.
(Bad) Error Prone
Distributed Source Control
Centralized Version Control System
Central Server contains all versioned files
• Single point of failure
• Cannot work on files checked out
by someone else
Distributed Source Control
Distributed Version Control System
Every developer contains all versioned files and history
• Developers work offline
• Anyone can restore the project
from their local copy.
Hosted Repository
Github
bitbucket
 Git
 Mercurial
 Bazaar
 Darcs
Distributed Source Control
History of Git …
• Born in 2005 because commercial vendor for
bitKeeper revoked a free license from Linux
Kernel development.
• Sponsored by LinusTorvald
• Linux Kernel development uses Git
Distributed Source Control
History of Git - Requirements
• Fast
• Simple and easy to use
• Support for branching (thousands of parallel
branches)
• Fully distributed
• Ability to scale large projects
Distributed Source Control
Git Basics …
• Forget how otherVCS work
• Git stores its data as snapshots when you
commit.
• Just about every operation is local
• Everything in Git is checksummed SHA-1 hash
• You cannot lose committed changes.
Distributed Source Control
Git Basics …
• Committed
• Modified
• Staged
Git database (Repository)
Modify files
Checkout
S
t
a
g
e
Staging Area
Distributed Source Control
Git Basics – IBM Notes Designer
Git database (Repository)
Share Project – Commit changes
On disk representation
C:Program Files (x86)IBMLotusNotesDataworkspace
.NSF
Distributed Source Control
Domino Installation Steps
 Install Git onto yourWindows PC
 Install the eclipse eGit plugin into Domino Designer.
 Configure Git through the eGit plugin.
 Create a on-disk representation of your NSF
(extracting your NSF to the file system)
 Share the on-disk representation (have Git manage
the source, a repository will be created in yet
another location.
 For a detailed walk through visit
uxdesign.xpagesbeast.com
Distributed Source Control
Demo
Distributed Source Control
Demo Steps
Open Domino Designer
Create a new Notes Application ‘git-demo’
Create on disk representation of the NSF
Share on disk representation
Check git shell $ git status, you have untracked directory
Add to repository $ git add –all, $ git status
$ git commit –am “First Commit” git
Explain the –am switch, show $ git log
Distributed Source Control
Demo Steps
Git add form frmDepartment
Commit
Git rm frmDepartment
Commit
Git log –p -2 show last two commits
Git log --stat to get number of lines added or removed.
Git log –pretty=oneline
Git log –pretty=format:”%h - %an, %ar :%s”
Distributed Source Control
Demo Steps
Difference between author and committer, the author is the
person who originally wrote the work. The committer is the one
who applied the work.
Get a list of files that changed in every commit.
Git log –pretty=format:”%h %s” –name-only
Git log –pretty=format:”%h %s %an” –name-only
Git log –since=2.hour
git log --pretty="%h:%s" --since="2013-01-01"
--before="2013-11-12" --no-merg
Distributed Source Control
UndoingThings
Change your last commit message or add a file to it
Git commit –amend
Restore a version
Git checkout 876bf4b6c7a98dfea9c70b57c9e7cb2343fe7eb6
Distributed Source Control
Branching
Git starts with a default branch called master. Git stores a table
of pointers to each branch which you currently have checked out.
Git stores each set of changes into snapshots with the commit
command.
A special pointer HEAD keeps track of what branch your on.
Git branch “somename” , git checkout “somename”

Contenu connexe

Tendances

What is version control software and why do you need it?
What is version control software and why do you need it?What is version control software and why do you need it?
What is version control software and why do you need it?Leonid Mamchenkov
 
Training: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenTraining: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenArtur Ventura
 
Advanced Git - Functionality and Features
Advanced Git - Functionality and FeaturesAdvanced Git - Functionality and Features
Advanced Git - Functionality and FeaturesAll Things Open
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucketMedhat Dawoud
 
Introduction to Containers: From Docker to Kubernetes and everything in-between
Introduction to Containers:  From Docker to Kubernetes and everything in-betweenIntroduction to Containers:  From Docker to Kubernetes and everything in-between
Introduction to Containers: From Docker to Kubernetes and everything in-betweenAll Things Open
 
Distributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseDistributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseKurt Madel
 
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumAbhijitNarayan2
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeTeerapat Khunpech
 
Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Kurt Madel
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitRobert Lee-Cann
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewiredotCloud
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabShinu Suresh
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administrationShawn Doyle
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersNoam Kfir
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins UsersJules Pierre-Louis
 

Tendances (20)

What is version control software and why do you need it?
What is version control software and why do you need it?What is version control software and why do you need it?
What is version control software and why do you need it?
 
Training: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenTraining: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, Maven
 
Advanced Git - Functionality and Features
Advanced Git - Functionality and FeaturesAdvanced Git - Functionality and Features
Advanced Git - Functionality and Features
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 
Introduction to Containers: From Docker to Kubernetes and everything in-between
Introduction to Containers:  From Docker to Kubernetes and everything in-betweenIntroduction to Containers:  From Docker to Kubernetes and everything in-between
Introduction to Containers: From Docker to Kubernetes and everything in-between
 
Distributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseDistributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
Distributed Docker Pipeline Architecture with CloudBees Jenkins Enterprise
 
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTree
 
Lets git to it
Lets git to itLets git to it
Lets git to it
 
Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administration
 
Git training
Git trainingGit training
Git training
 
GitHub Presentation
GitHub PresentationGitHub Presentation
GitHub Presentation
 
Git
GitGit
Git
 
Subversion to Git Migration
Subversion to Git MigrationSubversion to Git Migration
Subversion to Git Migration
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 

Similaire à Git for IBM Notes Designer

Similaire à Git for IBM Notes Designer (20)

Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
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
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
 
Presentation on Repository Control System
Presentation on Repository Control SystemPresentation on Repository Control System
Presentation on Repository Control System
 
簡單介紹git
簡單介紹git簡單介紹git
簡單介紹git
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part I
 
Git Workshop : Getting Started
Git Workshop : Getting StartedGit Workshop : Getting Started
Git Workshop : Getting Started
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Git slide
Git slideGit slide
Git slide
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git hub
Git hubGit hub
Git hub
 
GIT.pptx
GIT.pptxGIT.pptx
GIT.pptx
 
Git Heaven with Wakanda
Git Heaven with WakandaGit Heaven with Wakanda
Git Heaven with Wakanda
 
Working in Team using Git in Unity
Working in Team using Git in UnityWorking in Team using Git in Unity
Working in Team using Git in Unity
 
Git presentation, Viktor Pyskunov
Git presentation, Viktor PyskunovGit presentation, Viktor Pyskunov
Git presentation, Viktor Pyskunov
 
Git 101
Git 101Git 101
Git 101
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial I
 

Plus de Slobodan Lohja

Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Slobodan Lohja
 
Domino on docker version 2
Domino on docker version 2Domino on docker version 2
Domino on docker version 2Slobodan Lohja
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Slobodan Lohja
 
JSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPagesJSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPagesSlobodan Lohja
 
How to adopt team development and source control rev2
How to adopt team development and source control rev2How to adopt team development and source control rev2
How to adopt team development and source control rev2Slobodan Lohja
 
Domino on docker version 1
Domino on docker version 1Domino on docker version 1
Domino on docker version 1Slobodan Lohja
 

Plus de Slobodan Lohja (7)

Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021Intro to SpringBatch NoSQL 2021
Intro to SpringBatch NoSQL 2021
 
Domino on docker version 2
Domino on docker version 2Domino on docker version 2
Domino on docker version 2
 
Automated ui-testing
Automated ui-testingAutomated ui-testing
Automated ui-testing
 
Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)Enable Domino Data Access Services (DAS)
Enable Domino Data Access Services (DAS)
 
JSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPagesJSF ActionListeners with XPages and Java Debugging XPages
JSF ActionListeners with XPages and Java Debugging XPages
 
How to adopt team development and source control rev2
How to adopt team development and source control rev2How to adopt team development and source control rev2
How to adopt team development and source control rev2
 
Domino on docker version 1
Domino on docker version 1Domino on docker version 1
Domino on docker version 1
 

Dernier

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Dernier (20)

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Git for IBM Notes Designer

  • 1. Distributed Source Control For Domino Designer uxdesign.xpagesbeast.com
  • 2. Distributed Source Control •What is version control? •Who is it for? •How does it help?
  • 3. Distributed Source Control • LocalVersion Control Systems • CentralizedVersion Control Systems • DistributedVersion Control Systems
  • 4. Distributed Source Control LocalVersion Control System File Server Detached Storage On your computer in Separate folders. (Bad) Error Prone
  • 5. Distributed Source Control Centralized Version Control System Central Server contains all versioned files • Single point of failure • Cannot work on files checked out by someone else
  • 6. Distributed Source Control Distributed Version Control System Every developer contains all versioned files and history • Developers work offline • Anyone can restore the project from their local copy. Hosted Repository Github bitbucket  Git  Mercurial  Bazaar  Darcs
  • 7. Distributed Source Control History of Git … • Born in 2005 because commercial vendor for bitKeeper revoked a free license from Linux Kernel development. • Sponsored by LinusTorvald • Linux Kernel development uses Git
  • 8. Distributed Source Control History of Git - Requirements • Fast • Simple and easy to use • Support for branching (thousands of parallel branches) • Fully distributed • Ability to scale large projects
  • 9. Distributed Source Control Git Basics … • Forget how otherVCS work • Git stores its data as snapshots when you commit. • Just about every operation is local • Everything in Git is checksummed SHA-1 hash • You cannot lose committed changes.
  • 10. Distributed Source Control Git Basics … • Committed • Modified • Staged Git database (Repository) Modify files Checkout S t a g e Staging Area
  • 11. Distributed Source Control Git Basics – IBM Notes Designer Git database (Repository) Share Project – Commit changes On disk representation C:Program Files (x86)IBMLotusNotesDataworkspace .NSF
  • 12. Distributed Source Control Domino Installation Steps  Install Git onto yourWindows PC  Install the eclipse eGit plugin into Domino Designer.  Configure Git through the eGit plugin.  Create a on-disk representation of your NSF (extracting your NSF to the file system)  Share the on-disk representation (have Git manage the source, a repository will be created in yet another location.  For a detailed walk through visit uxdesign.xpagesbeast.com
  • 14. Distributed Source Control Demo Steps Open Domino Designer Create a new Notes Application ‘git-demo’ Create on disk representation of the NSF Share on disk representation Check git shell $ git status, you have untracked directory Add to repository $ git add –all, $ git status $ git commit –am “First Commit” git Explain the –am switch, show $ git log
  • 15. Distributed Source Control Demo Steps Git add form frmDepartment Commit Git rm frmDepartment Commit Git log –p -2 show last two commits Git log --stat to get number of lines added or removed. Git log –pretty=oneline Git log –pretty=format:”%h - %an, %ar :%s”
  • 16. Distributed Source Control Demo Steps Difference between author and committer, the author is the person who originally wrote the work. The committer is the one who applied the work. Get a list of files that changed in every commit. Git log –pretty=format:”%h %s” –name-only Git log –pretty=format:”%h %s %an” –name-only Git log –since=2.hour git log --pretty="%h:%s" --since="2013-01-01" --before="2013-11-12" --no-merg
  • 17. Distributed Source Control UndoingThings Change your last commit message or add a file to it Git commit –amend Restore a version Git checkout 876bf4b6c7a98dfea9c70b57c9e7cb2343fe7eb6
  • 18. Distributed Source Control Branching Git starts with a default branch called master. Git stores a table of pointers to each branch which you currently have checked out. Git stores each set of changes into snapshots with the commit command. A special pointer HEAD keeps track of what branch your on. Git branch “somename” , git checkout “somename”