In part one we took a look at the foundations of Git. If you haven’t read that yet, I suggest you check it out!
Table of Contents
What is GitHub
GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command-line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as wikis and basic task management tools for every project. GitHub lets you and others work together on projects.
A repository is also known as “repo” is a location where all the files for a particular project are stored. Each project has its own repo, and you can access it with a unique URL. It can contain folders and any type of files. A repository should also include a license file and a README file about the project. It can also be used to store ideas or any resources that you want to share.
A branch is used to work with different versions of a repository at the same time. By default a repository has a master branch (a production branch). Any other branch is a copy of the master branch (as it was at a point in time). New Branches are for bug fixes and feature work separate from the master branch. When changes are ready, they can be merged into the master branch. If you make changes to the master branch while working on a new branch, these updates can be pulled in.
At GitHub, changes are called commits.
Each commit (change) has a description explaining why a change was made.
Pull Requests are the heart of GitHub collaboration.
With a pull request you are proposing that your changes should be merged (pulled in) with the master. Pull requests show content differences, changes, additions, and subtractions in colors (green and red). As soon as you have a commit, you can open a pull request and start a discussion, even before the code is finished.
You merge any changes into the master by clicking a “Merge pull request” button.
After merging you can delete the branch by clicking a “Delete branch button”.
Forking a Repo
“Forking” is when you create a new project based off of another project that already exists. This is an amazing feature that vastly encourages the further development of programs and other projects. If you find a project on GitHub that you’d like to contribute to, you can fork the repo, make the changes you’d like, and release the revised project as a new repo. If the original repository that you forked to create your new project gets updated, you can easily add those updates to your current fork.
GitHub Actions help you automate your software development workflows in the same place you store code and collaborate on pull requests and issues. You can write individual tasks, called actions, and combine them to create a custom workflow. Workflows are custom automated processes that you can set up in your repository to build, test, package, release, or deploy any code project on GitHub.
GitHub Repository UI
Basic introduction of the GitHub UI. It’s a simple looking UI but it has lot of functionality.
- Explore: Here, you can find other people repo or projects on GitHub.
- Repo Name: It shows the username and repo name.
- Watch: GitHub has always made it easy to “watch” a project, which means you’re notified whenever there are any updates.
- Star: Starring projects is a more lightweight way of watching the activity that’s happening on a project. It’s similar to bookmarking something. You won’t be automatically notified about any activity, but you’ll always be able to access the project form your list of starred projects!
- Fork: “Forking” is when you create a new project based off of another project that already exists.
- Code: Show all the files in your repo.
- Issues: Track all your issues
- Pull request: Pull requests show content differences, changes, additions, and subtractions in colours (green and red).
- Actions: GitHub Actions help you automate your software development workflows.
- Projects: Project boards on GitHub help you organize and prioritize your work. You can create project boards for specific feature work, comprehensive roadmaps, or even release checklists. With project boards, you have the flexibility to create customized workflows that suit your needs.
- Wiki: Wikis on GitHub help you present in-depth information about your project in a useful way.
- Security: GitHub Security Advisories to privately discuss, fix, and publish information about security vulnerabilities in your repository.
- Insights: Insights provides analytic reports based on data from your repo to help you understand and improve your software delivery process.
- Settings: Repository administrators and organization owners can change several settings, including the names and ownership of a repository and the public or private visibility of a repository. You can also delete a repository.
- Branch: A branch is essentially is a unique set of code changes with a unique name. Each repository can have one or more branches—the main branch — the one where all changes eventually get merged back into and are called master.
- Code: Clone the repo in your local File or Download as a zip in your PC.
- File Lists: All your project file and folder are displayed.
- ReadMe: It will show the data from “readme.md” file. Use as Instruction or what is the project about.
- About: A repository details.
- Keyword: Use for online present and sorting the project based on a keyword.
- License: Public repositories on GitHub are often used to share open-source software. For your repository to truly be open source, you’ll need to license it so that others are free to use, change, and distribute the software.
- Contributors: It will display how many people are contributing to this project.
That’ all for the introduction.😁 Hope you like it. Follow me on twitter for more content.