Git and GitHub Fundamentals
Overview of Git/GitHub
Working without Version Control:
Working with Version Control:
Git
- Free and open source software
- Distributed VCS
- Accessible anywhere in the world
- One of the most common version control systems available
- Can also version control images, documents, etc.
Short Glossary of Terms
SSH protocol – A method for secure remote login from one computer to another.
Repository – The folders of your projects that are set up for version control.
Fork – The process you use to request that someone reviews and approves your changes before they become final.
Working directory – A directory on your file system, including its files and subdirectories, that is associated with a git repository.
Introduction to GitHub
Background of Git:
- Large software projects need a way to track and control source code updates
- Linux needs automated source-version control
- Key characteristics include:
- Strong support for non-linear development
- Distributed development
- Compatibility with existing systems and protocols
- Efficient handling of large projects
- Cryptographic authentication of history
- Pluggable merge strategies
Git Repository Model:
- What is special about the Git Repository model?
- Distributed VCS
- Tracks source code
- Coordinates among programmers
- Tracks changes
- Supports non-linear workflows
Created in 2005 by Linus Torvalds
What is Git?
- Git is a distributed VCS
- Tracks changes to content
- Provides a central point for collaboration
- Git allows for centralized administration
- Teams have controlled access scope
- The main branch should always correspond to deployable code
- IBM Cloud is built around open-source tools including Git repositories
GitHub
- GitHub is an online hosting service for Git repositories
- Hosted by a subsidiary of Microsoft
- Offers free, professional, and enterprise accounts
- Till 2022, it had over 100M repos
- What is a Repository?
- A data structure for storing documents including application source code
- A repository can track and maintain version-control
GitLab
GitLab is:
- A DevOps platform, delivered as a single application
- Provides access to Git repositories
Provides source code management
GitLab enables developers to:
- Collaborate
- Work from a local copy
- Branch and merge code
- Streamline testing and delivery with CI/CD
This post is licensed under CC BY 4.0 by the author.