Home Page Icon
Home Page
Table of Contents for
cover
Close
cover
by Joseph Muli, Alex Magana
Version Control with Git and GitHub
Preface
About the Book
About the Authors
Objectives
Audience
Approach
Minimum Hardware Requirements
Software Requirements
Installing the Code Bundle
Additional Resources
Conventions
Installing Atom IDE
Installing Git
Introducing Version Control
Introduction
Defining Version Control
Applications of Version Control
Common Terminologies
Feature branch workflow
Forking Workflow
Navigating GitHub
Exercise 1: Setting Up a GitHub Account
Exercise 2: Utilizing Two-Factor Authentication
Organizations
Exercise 3: Setting Up an Organization
Exercise 4: Setting Up a Team
Marketplace
Exercise 5: Setting Up Codacy for Accounts
Runtime Config
Exercise 6: Setting User Credentials
Removing Configuration
SSH Configuration
Exercise 7: Setting Up SSH
Creating a Repository
Exercise 8: Creating a Repository in a Local Environment
Exercise 9: Creating a Repository on GitHub
Navigating a Repository
Collaborators
Exercise 10: Adding and Deleting Contributors
Navigating Branches, Commits, and Insights (Contributors, Pulse, Forks)
GitHub Etiquette
Repository Names, Tags, and Descriptions
Exercise 11: Adding Licenses
Wikis and Issues
Activity 1: Creating a Repository
Summary
Versioning Commits
Introduction
Introduction to Versioning Commits
Exercise 12: Viewing and Establishing the Status of a File
Comparing the Working Tree to the Index
Comparing the Working Tree to an Arbitrary Commit or Branch
Comparing the Index to an Arbitrary Commit
Comparing Commits and Branches
Exercise 13: Examining Differences Between Files
Exercise 14: Adding Files to the Index
Exercise 15: Removing Files from the Working Tree and the Index
Exercise 16: Moving and Renaming Files
History and Logs
Amending Commits
Amending a Single Most Recent Commit
Exercise 17: Editing the Most Recent Commit
Amending Multiple Commits
Exercise 18: Editing Commits Using the reword Command
Exercise 19: Editing Commits Using the edit Command
Activity 2: Tracking Files
Summary
Fetching and Delivering Code
Introduction
Fetching the Code
Exercise 20: Configuring the Remote Repository
Default and Protected Branches
Exercise 21: Configuring the Base Branch and Branch Protection
Fetching, Pushing, and Pulling Changes
Exercise 22: Retrieving Changes
Dealing with Non-Fast-Forward Commits
Reversing Commits
Exercise 23: Reversing Changes
Other Possible Uses
Activity 3: Handling Changes and Enforcing Branch Restrictions
Summary
Branches
Introduction
Utilizing Workflows
Creating a Centralized Workflow
Feature Branch Workflow
Forking Workflow
Feature-Branch Workflow
Exercise 24: Feature-Branch Workflow-Driven Delivery
Creating, Renaming, Deleting, and Listing Branches
Creating:
Merging
Cherry-Pick
Pull Request (PR)
Exercise 25: Examining Branch Differences
Pull Request Templates
Exercise 26: Standardizing Procedures through Ordered Templates
Identifying and Fixing Merge Issues
Exercise 27: Merge Conflict Resolution
Exercise 28: Resolving Conflicts
Merging and Reverting Pull Requests
Exercise 29: Pull Request Reversal
Activity 4: Managing Branches and Experimentation with Selective Changes
Summary
Collaborative Git
Introduction
Forking the Workflow
Exercise 30: Forking a Repository
Why Do We Fork Repositories?
Embedding Upstream Changes
Exercise 31: Modifying the Upstream Repository Remote Address
Rebasing
Exercise 32: Rebasing in GitHub
Fixup and Squash Commits
Exercise 33: Utilizing the Autosquash Feature
Drop Commits
Exercise 34: Dropping Commits
Submodules
Exercise 35: Utilizing Gitmodules
Activity 5: Rebasing
Debugging and Maintenance
Exercise 36: Identifying Revisions Using Git Blame
Exercise 37: Finding Commits using Git Bisect
Housekeeping
Exercise 38: Removing Untracked Files using Git Clean
Removing Merged Local and Remote Branches
Exercise 39: Deleting Branches
Activity 6: Utilizing Pre-Commit Hooks for Housekeeping
Summary
Automated Testing and Release Management
Introduction
Test Automation
Webhooks and GitHub Applications
Exercise 40: Setting up a Webhook
GitHub Applications
Exercise 41: Setting Up CircleCi CI
Automated Pull Requests
Exercise 42: Utilizing Automated Pull Requests
Activity 7: Integrating a Build Pipeline on CircleCi
Release Management
Tagging
Exercise 43: Creating Tags
Exercise 44: Publishing GitHub Releases
Git Archive
Exercise 45: Packaging through GitHub Archive
Activity 8: Tagging and Releasing with Git
Summary
Appendix
Chapter 1: Introducing Version Control
Activity 1: Repository Creation
Chapter 2: Versioning Commits
Activity 2: Tracking Files
Chapter 3: Fetching and Delivering Code
Activity 3: Handling Changes and Enforcing Branch Restrictions
Chapter 4: Branches
Activity 4: Managing Branches and Experimentation with Selective Changes
Chapter 5: Collaborative Git
Activity 5: Rebasing
Activity 6: Utilizing Pre-Commit Hooks for Housekeeping
Chapter 6: Automated Testing and Release Management
Activity 7: Integrating a Build Pipeline on CircleCi
Activity 8: Tagging and Releasing with Git
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
C11892_Credits_comm_Final
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset