Learn best practices for Git and Github for both teams and enterprises.
In just a few years, Git has become the de-facto standard source control system in the software development industry. In a world where people no longer need to be physically in the same room to get things done, a powerful distributed source control system makes sense.
But a source control system alone isn’t enough for teams and organizations to work together. GitHub has made it even easier for developers to collaborate using Git. Both newcomers and seasoned software developers have flocked to GitHub for their projects, powered by a vibrant open source community. But GitHub is not only there for open source projects. More and more companies are moving towards GitHub because of its easy use and popularity among developers.
This course is intended for teams wanting to collaborate using GitHub, and for developers wanting to improve their Git skills.
In This Course, You Will Learn:
- How to install Git on Windows, Mac and Linux
- Perform basic Git commands like intitlizating a repository, creating a branch and adding commits
- Perform advanced Git commands like rebasing, cherry-picking, aliases and hooks
- Set organization accounts to combine multiple GitHub users into an organization
- Split up organization accounts into multiple teams
- Create a repository and set up permissions
- Make pull requests work, create a branch, push commits, create the pull request, have someone approve and merge
- How to manage large-scaled projects using Git and GitHub
Part 1: Git – Basic and Advance Commands
Getting started with Git
- Installing Git on Windows
- Installing Git on Mac
- Installing Git on Linux
Basic Git commands
- Initializing a repository
- Adding commits
- Adding a remote
- Pushing to the remote
- Pulling from the remote
- Creating a branch
Advanced Git commands
- Commit --amend
- Interactive rebasing
- Merging fast-forward
- Normal merging vs fast-forward merging.
- Git hooks allow you to run scripts before or after certain Git actions (e.g., modify the commit message prior to committing).
Part 2: GitHub – Team and Enterprise Applications
Getting started with GitHub
- Signing up
- Two-factor authentication
- Searching GitHub
- Starring repositories
- Following people
- Watching repositories
- Commit email addresses
Options for teams
- Organization accounts
- Organization accounts allow you to combine multiple GitHub users into an organization. A single GitHub user can be a member of several organizations. A repository can also be owned by an organization, instead of a single user.
- GitHub Organizations can be split up into multiple teams, to mirror the departments of your company. This allows easier control when setting up permissions for users to your repositories.
- Paid plans
- GitHub offers a lot of functionality for free. But companies often need more. The paid plans allow things like private repositories, fine-grained access control, extra support, etc.
- Creating a repository
- Setting permissions
Working In Teams
- GitHub Flow
- GitHub Flow is an easy branching strategy. It starts from a master branch and creates only feature branches from there. The feature branches only get merged into the master branch when approved and ready for release. This allows a team to have a rapid cadence of releases, but also creates some requirements that need to be addressed. For example, you will need a good CI/CD pipeline, a business that accepts rapid releases, possibly a good feature toggle system, etc.
- GitFlow is a more complex branching strategy but allows for a more secure development and deployment pace. It's often more fit for larger enterprises. Luckily, there are CLI plugins and GUI tools that support GitFlow and make it easy to work with. This way, developers don't have to remember the specific commands and branching flows.
- Working With Pull Requests
- This section will show how pull requests work, create a branch, push some commits, create the pull request, have someone approve and merge.
- Markdown files
- GitHub pages
- Creating an issue
- Referencing other issues
- Referencing commit
- Commenting on issues
- Labeling issues
- Closing issues
- GitHub projects give teams a Kanban board to organize and visualize their work. It's a step up from GitHub Issues.
- Git allows developers to create tags in their repositories. In GitHub, you can easily link these tags to "Releases". A release can contain release notes, providing a nice overview of what changed over time.
Substitution & Cancellation Policy:
You may cancel or reschedule up to 21 days prior to the start date of the class at no penalty. For any cancellation or reschedule requests within 21 days, the full course tuition is still due and not eligible for refund. Any paid tuition will be credited towards a future class and must be used within 12 months.
*Partner delivered courses may be subject to different cancellation terms