SlideShare une entreprise Scribd logo
1  sur  23
An Introduction


By Christopher Pezza – Monfort College of Business 2012
 Version Control refers to
  management of changes
  to documents, programs,
  large web sites and other
  information stored as
  computer files.
 Used in software
  development, where a
  team of people may
  change the same files.



                              Monfort College of Business - BACS 488
                                                          2/27/2012    2
 git /'ɡɪt/ -- Git is an
  extremely
  fast, efficient, distributed
  version control system
  ideal for the collaborative
  development of software.
 Invented by Linus Torvalds
 Version Control Tool
   Powerful
   Flexible
   Low-Overhead



                                 Monfort College of Business - BACS 488
                                                             2/27/2012    3
Monfort College of Business - BACS 488
                            2/27/2012    4
 Facilitate Distributed
  Development
 Scale to handle thousands of
  developers
 Perform quickly and
  efficiently
 Maintain integrity and trust
 Enforce accountability
 Immutability
 Atomic transactions
 Support and encourage
  branched development
 Complete repositories
 A clean internal design
 Be free, as in freedom
                                 Monfort College of Business - BACS 488
                                                             2/27/2012    5
 Allow parallel as well as
  independent and
  simultaneous
  development in private
  repositories without the
  need for constant
  synchronization with a
  central repository
 Allow multiple developers
  in multiple locations even
  if some of them are offline
  temporarily

                                Monfort College of Business - BACS 488
                                                            2/27/2012    6
 Thousands of developers
  contribute to each Linux
  release
 Handle a very large
  number of
  developers, whether they
  are working on the same
  or on different parts of a
  common project
 VCS must integrate all
  work reliably


                               Monfort College of Business - BACS 488
                                                           2/27/2012    7
 Needs to support a large
  volume of update
  operations that would be
  made on the Linux Kernel
 Individual update
  operations and network
  transfer operations have
  to be very fast
 To save space and thus
  transfer
  time, compression and
  “delta” techniques would
  be needed

                             Monfort College of Business - BACS 488
                                                         2/27/2012    8
 Git uses a common
  cryptographic hash
  function, called SHA1, to
  name and identify objects
  within its database




                              Monfort College of Business - BACS 488
                                                          2/27/2012    9
 Git enforces a change log
  on every commit that
  changes a file
 Git ensures that changes
  will not happen
  mysteriously to files under
  version control because
  there is an accountability
  trail for all changes.



                                Monfort College of Business - BACS 488
                                                            2/27/2012    10
 Once objects have been
  created and placed in the
  database, they cannot be
  modified
 Objects can be recreated
  differently, but the
  original data cannot be
  altered.
 The entire history stored
  within the version control
  database is also
  immutable.

                               Monfort College of Business - BACS 488
                                                           2/27/2012    11
 A number of different but
  related changes are
  performed either all
  together or not at all
 Ensures that the version
  control database is not
  left in a partially changed
  (possibly corrupted) state
  while an update or
  commit is happening



                                Monfort College of Business - BACS 488
                                                            2/27/2012    12
 VCSs can name different
  genealogies of
  development within a
  single project
 VCS can also split a single
  line of development into
  multiple lines and then
  unify, or merge, the
  disparate threads
 Git calls a line of
  development a branch
  and assigns each branch a
  name

                                Monfort College of Business - BACS 488
                                                            2/27/2012    13
 In order to avoid
  individual developers
  needing to query a
  centralized repository
  server for historical
  revision information, each
  repository has a complete
  copy of all historical
  revisions of every file.



                               Monfort College of Business - BACS 488
                                                           2/27/2012    14
 Git’s object model has
  simple structures that
  capture fundamental
  concepts for raw data,
  directory structure,
  recording changes, etc.
 Coupling the object model
  with a globally unique
  identifier technique
  allowed a very clean data
  model that could be
  managed in a distributed
  development
  environment.
                              Monfort College of Business - BACS 488
                                                          2/27/2012    15
 “Free software” means
  software that respects
  users' freedom and
  community.
 users have the freedom
  to
  run, copy, distribute, stud
  y, change and improve
  the software
 Free Software is a matter
  of liberty, not price: Think
  “free” as in “free speech,”
  not as in “free beer”.
 Example: GNU Licenses

                                 Monfort College of Business - BACS 488
                                                             2/27/2012    16
Monfort College of Business - BACS 488
                            2/27/2012    18
 social networking
  functionality such as
  feeds, followers and the
  network graph to display
  how developers work on
  their versions of a
  repository.
 a pastebin-style site called
  Gist
 wikis for individual
  repositories
 web pages that can be
  edited through a Git
  repository
                                 Monfort College of Business - BACS 488
                                                             2/27/2012    19
Monfort College of Business - BACS 488
                            2/27/2012    20
Monfort College of Business - BACS 488
                            2/27/2012    21
Monfort College of Business - BACS 488
                            2/27/2012    22
 White, Tom (2011). Version
  Control with Git: Powerful Tools
  and Techniques for
  Collaborative Software
  Developement. Sebastopol, CA:
  O’Reilly.
 Wikipedia – Git (software)
 What is Free Software?
  From the GNU Project




                                     Monfort College of Business - BACS 488
                                                                 2/27/2012    23

Contenu connexe

Similaire à Introduction to Git and Github

Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupdsdata systems
 
OpenShift: Devops Made Easy
OpenShift: Devops Made EasyOpenShift: Devops Made Easy
OpenShift: Devops Made EasyBent Terp
 
Source Code Control for Microsoft Access Developers
Source Code Control for Microsoft Access DevelopersSource Code Control for Microsoft Access Developers
Source Code Control for Microsoft Access DevelopersPhilipp Stiefel
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
OpenChain Webinar #50 - An Overview of SPDX 3.0
OpenChain Webinar #50 - An Overview of SPDX 3.0OpenChain Webinar #50 - An Overview of SPDX 3.0
OpenChain Webinar #50 - An Overview of SPDX 3.0Shane Coughlan
 
Introducing GitSwarm: Pure Git with Globally Scalable DevOps
Introducing GitSwarm: Pure Git with Globally Scalable DevOpsIntroducing GitSwarm: Pure Git with Globally Scalable DevOps
Introducing GitSwarm: Pure Git with Globally Scalable DevOpsPerforce
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Mainframe Project
 
OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017Rodolfo Carvalho
 
How to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing FoundationHow to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing FoundationCodeOps Technologies LLP
 
How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)Krishna-Kumar
 
Smart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah FosterSmart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah FosterLuxoft
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEFilipe Miranda
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemKarthikeyanSambandam2
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
 
What is the concept of GitOps.pdf
What is the concept of GitOps.pdfWhat is the concept of GitOps.pdf
What is the concept of GitOps.pdfCiente
 

Similaire à Introduction to Git and Github (20)

Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetup
 
Devops
DevopsDevops
Devops
 
Git version control
Git version controlGit version control
Git version control
 
OpenShift: Devops Made Easy
OpenShift: Devops Made EasyOpenShift: Devops Made Easy
OpenShift: Devops Made Easy
 
Source Code Control for Microsoft Access Developers
Source Code Control for Microsoft Access DevelopersSource Code Control for Microsoft Access Developers
Source Code Control for Microsoft Access Developers
 
Project Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium ParisProject Fuji/OpenESB Aquarium Paris
Project Fuji/OpenESB Aquarium Paris
 
Top Things to Know about .NET 6
Top Things to Know about .NET 6Top Things to Know about .NET 6
Top Things to Know about .NET 6
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
OpenChain Webinar #50 - An Overview of SPDX 3.0
OpenChain Webinar #50 - An Overview of SPDX 3.0OpenChain Webinar #50 - An Overview of SPDX 3.0
OpenChain Webinar #50 - An Overview of SPDX 3.0
 
Introducing GitSwarm: Pure Git with Globally Scalable DevOps
Introducing GitSwarm: Pure Git with Globally Scalable DevOpsIntroducing GitSwarm: Pure Git with Globally Scalable DevOps
Introducing GitSwarm: Pure Git with Globally Scalable DevOps
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017OpenShift Overview - Red Hat Open School 2017
OpenShift Overview - Red Hat Open School 2017
 
How to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing FoundationHow to Contribute to Cloud Native Computing Foundation
How to Contribute to Cloud Native Computing Foundation
 
How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)How to contribute to cloud native computing foundation (CNCF)
How to contribute to cloud native computing foundation (CNCF)
 
Smart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah FosterSmart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah Foster
 
IBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONEIBM Think 2020 Openshift on IBM Z and LinuxONE
IBM Think 2020 Openshift on IBM Z and LinuxONE
 
Git Tutorial
Git Tutorial Git Tutorial
Git Tutorial
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystem
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUG
 
What is the concept of GitOps.pdf
What is the concept of GitOps.pdfWhat is the concept of GitOps.pdf
What is the concept of GitOps.pdf
 

Dernier

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Dernier (20)

SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Introduction to Git and Github

  • 1. An Introduction By Christopher Pezza – Monfort College of Business 2012
  • 2.  Version Control refers to management of changes to documents, programs, large web sites and other information stored as computer files.  Used in software development, where a team of people may change the same files. Monfort College of Business - BACS 488 2/27/2012 2
  • 3.  git /'ɡɪt/ -- Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software.  Invented by Linus Torvalds  Version Control Tool  Powerful  Flexible  Low-Overhead Monfort College of Business - BACS 488 2/27/2012 3
  • 4. Monfort College of Business - BACS 488 2/27/2012 4
  • 5.  Facilitate Distributed Development  Scale to handle thousands of developers  Perform quickly and efficiently  Maintain integrity and trust  Enforce accountability  Immutability  Atomic transactions  Support and encourage branched development  Complete repositories  A clean internal design  Be free, as in freedom Monfort College of Business - BACS 488 2/27/2012 5
  • 6.  Allow parallel as well as independent and simultaneous development in private repositories without the need for constant synchronization with a central repository  Allow multiple developers in multiple locations even if some of them are offline temporarily Monfort College of Business - BACS 488 2/27/2012 6
  • 7.  Thousands of developers contribute to each Linux release  Handle a very large number of developers, whether they are working on the same or on different parts of a common project  VCS must integrate all work reliably Monfort College of Business - BACS 488 2/27/2012 7
  • 8.  Needs to support a large volume of update operations that would be made on the Linux Kernel  Individual update operations and network transfer operations have to be very fast  To save space and thus transfer time, compression and “delta” techniques would be needed Monfort College of Business - BACS 488 2/27/2012 8
  • 9.  Git uses a common cryptographic hash function, called SHA1, to name and identify objects within its database Monfort College of Business - BACS 488 2/27/2012 9
  • 10.  Git enforces a change log on every commit that changes a file  Git ensures that changes will not happen mysteriously to files under version control because there is an accountability trail for all changes. Monfort College of Business - BACS 488 2/27/2012 10
  • 11.  Once objects have been created and placed in the database, they cannot be modified  Objects can be recreated differently, but the original data cannot be altered.  The entire history stored within the version control database is also immutable. Monfort College of Business - BACS 488 2/27/2012 11
  • 12.  A number of different but related changes are performed either all together or not at all  Ensures that the version control database is not left in a partially changed (possibly corrupted) state while an update or commit is happening Monfort College of Business - BACS 488 2/27/2012 12
  • 13.  VCSs can name different genealogies of development within a single project  VCS can also split a single line of development into multiple lines and then unify, or merge, the disparate threads  Git calls a line of development a branch and assigns each branch a name Monfort College of Business - BACS 488 2/27/2012 13
  • 14.  In order to avoid individual developers needing to query a centralized repository server for historical revision information, each repository has a complete copy of all historical revisions of every file. Monfort College of Business - BACS 488 2/27/2012 14
  • 15.  Git’s object model has simple structures that capture fundamental concepts for raw data, directory structure, recording changes, etc.  Coupling the object model with a globally unique identifier technique allowed a very clean data model that could be managed in a distributed development environment. Monfort College of Business - BACS 488 2/27/2012 15
  • 16.  “Free software” means software that respects users' freedom and community.  users have the freedom to run, copy, distribute, stud y, change and improve the software  Free Software is a matter of liberty, not price: Think “free” as in “free speech,” not as in “free beer”.  Example: GNU Licenses Monfort College of Business - BACS 488 2/27/2012 16
  • 17.
  • 18. Monfort College of Business - BACS 488 2/27/2012 18
  • 19.  social networking functionality such as feeds, followers and the network graph to display how developers work on their versions of a repository.  a pastebin-style site called Gist  wikis for individual repositories  web pages that can be edited through a Git repository Monfort College of Business - BACS 488 2/27/2012 19
  • 20. Monfort College of Business - BACS 488 2/27/2012 20
  • 21. Monfort College of Business - BACS 488 2/27/2012 21
  • 22. Monfort College of Business - BACS 488 2/27/2012 22
  • 23.  White, Tom (2011). Version Control with Git: Powerful Tools and Techniques for Collaborative Software Developement. Sebastopol, CA: O’Reilly.  Wikipedia – Git (software)  What is Free Software? From the GNU Project Monfort College of Business - BACS 488 2/27/2012 23

Notes de l'éditeur

  1. A tool that manages and tracks different versions of software or other content is referred to generically as a version control system (VCS), a source code manager (SCM), or a revision control system (RCS).
  2. Linus Torvalds inventedGit to support the development of the Linux kernel, but it has since proven valuable to a wide range of projects. Git development began after many Linux kernel developers chose to give up access to the proprietaryBitKeeper system.[9] (The copyright holder of BitKeeper, Larry McVoy, withdrew free use of the product after he claimed that Andrew Tridgell had reverse-engineered the BitKeeper protocols.)Torvalds wanted a distributed system that he could use like BitKeeper, but none of the available free systems met his needs, particularly his performance needs.
  3. Using a distributed model instead of a centralized model also ensured that network latency would not hinder daily development.
  4. How do you know that data hasn’t been altered in transition from one developer to the next, or from one repository to the next? How do you know that the data in a Git repository is even what it purports to be?
  5. One of the key aspects of a version control system is knowing who changed files, and if at all possible, why. The information stored in that change log is left up to the developer project requirements, management, convention, etc.
  6. Using immutable objects has several advantages, including very quick comparison for equality.
  7. Git implements atomic transactions by recording complete, discrete repository states that cannot be broken down into individual or smaller state changes.
  8. Since merging had been such a pain in previous systems, Linus wanted the new system to support clean, fast, and easy merging.
  9. The Idea: When users don't control the program, the program controls the users. The developer controls the program, and through it controls the users. This nonfree or “proprietary” program is therefore an instrument of unjust power.