GITHUB Complete tutorial for Beginners
The concept of contributing to a software project without being compensated or rewarded for it, can be difficult to understand.
But for software engineers and developers, contributing to open source software offers many advantages that can open doors to new opportunities that extend well beyond any commercial aspiration.And the major platform for this contribution as your colleagues and professors have told you is GITHUB.
Hi everyone, Welcome to this complete GitHub Tutorial .So Let’s just see and make your first GITHUB contribution today only.
The major question we have is “what is GITHUB ??”, but wait…
Before that let’s understand what is Github made up of, so you need to know two connected principles: Version control and Git.
What is version control?
Version control, also known as source control, is the practice of tracking and managing changes to software code. Version control helps developers track and manage changes to a software project’s code. As a software project grows, version control becomes essential.
Take Wordpress…. At this point, WordPress is a pretty big project. If a core developer wanted to work on one specific part of the WordPress codebase, it wouldn’t be safe or efficient to have them directly edit the “official” source code.
Instead, version control lets developers safely work through branching and merging.So let’s see what is BRANCHING and MERGING.
With branching, a developer duplicates part of the source code (called the repository). The developer can then safely make changes to that part of the code without affecting the rest of the project. Let’s see various branching strategies used..
First, Zero Branch Strategy, It is simply a fancy way of saying “you are not using any branch strategy”. You only have a master branch where you directly commit and build your releases. This strategy is convenient and good if the project is: Small and simple.
Second, Develop Branch Strategy: In this strategy, you set up a long-living branch called develop that runs alongside the master branch. All work is committed first to the develop branch. This is a safe place where you can introduce new code that might break your project.
Then, Feature Branch Strategy :In this workflow, you setup a new feature branch every time you want to develop a new feature. Developers will need to pull in the latest fixes from the master branch first before they can merge their feature branch into master.
If you can combine the “Develop” and “Feature” branch workflows, you get a solution that cancels each other’s cons. And this strategy is Gitflow Branch Strategy.
So, once the developer gets his or her part of the code working properly, he or she can merge that code back into the main source code to make it official.All of these changes are then tracked and can be reverted if need be.
What is GIT?
Git is a specific open-source version control system created by Linus Torvalds in 2005.
Specifically, Git is a distributed version control system, which means that the entire codebase and history is available on every developer’s computer, which allows for easy branching and merging.
According to a Stack Overflow developer survey, over 87% of developers use Git.
So What Is GitHub, Then?
GitHub is a for-profit company that offers a cloud-based Git repository hosting service. Essentially, it makes it a lot easier for individuals and teams to use Git for version control and collaboration.
GitHub’s interface is user-friendly enough so even novice coders can take advantage of Git. Without GitHub, using Git generally requires a bit more technical savvy and use of the command line.
GitHub is so user-friendly, though, that some people even use GitHub to manage other types of projects — like writing books.
Additionally, anyone can sign up and host a public code repository for free, which makes GitHub especially popular with open-source projects.
Hello World in Github
The Hello World project is a time-honored tradition in computer programming. It is a simple exercise that gets you started when learning something new. Let’s get started with GitHub!
You’ll learn how to:
- Create and use a repository
- Start and manage a new branch
- Make changes to a file and push them to GitHub as commits
- Open and merge a pull request
Step 1. Create a Repository
A repository is usually used to organize a single project. Repositories can contain folders and files, images, videos, spreadsheets, and data sets — anything your project needs. We recommend including a README, or a file with information about your project. GitHub makes it easy to add one at the same time you create your new repository. It also offers other common options such as a license file.
hello-world repository can be a place where you store ideas, resources, or even share and discuss things with others.
To create a new repository
- In the upper right corner, next to your avatar or identicon, click and then select New repository.
- Name your repository
- Write a short description.
- Select Initialize this repository with a README.
Click Create repository.
Step 2. Create a Branch
Branching is the way to work on different versions of a repository at one time.
By default your repository has one branch named
main which is considered to be the definitive branch. We use branches to experiment and make edits before committing them to
When you create a branch off the
main branch, you’re making a copy, or snapshot, of
main as it was at that point in time. If someone else made changes to the
main branch while you were working on your branch, you could pull in those updates.
This diagram shows:
- A new branch called
feature(because we’re doing ‘feature work’ on this branch)
- The journey that
featuretakes before it’s merged into
Have you ever saved different versions of a file? Something like:
Branches accomplish similar goals in GitHub repositories.
Here at GitHub, our developers, writers, and designers use branches for keeping bug fixes and feature work separate from our
main (production) branch. When a change is ready, they merge their branch into
To create a new branch
- Go to your new repository
- Click the drop down at the top of the file list that says branch: main.
- Type a branch name,
readme-edits, into the new branch text box.
- Select the blue Create branch box or hit “Enter” on your keyboard.
Now you have two branches,
readme-edits. They look exactly the same, but not for long! Next we’ll add our changes to the new branch.
Step 3. Make and commit changes
Bravo! Now, you’re on the code view for your
readme-edits branch, which is a copy of
main. Let’s make some edits.
On GitHub, saved changes are called commits. Each commit has an associated commit message, which is a description explaining why a particular change was made. Commit messages capture the history of your changes, so other contributors can understand what you’ve done and why.
Make and commit changes
- Click the
- Click the pencil icon in the upper right corner of the file view to edit.
- In the editor, write a bit about yourself.
- Write a commit message that describes your changes.
- Click Commit changes button.
These changes will be made to just the README file on your
readme-editsbranch, so now this branch contains content that’s different from
Step 4. Open a Pull Request
Nice edits! Now that you have changes in a branch off of
main, you can open a pull request.
Pull Requests are the heart of collaboration on GitHub. When you open a pull request, you’re proposing your changes and requesting that someone review and pull in your contribution and merge them into their branch. Pull requests show diffs, or differences, of the content from both branches. The changes, additions, and subtractions are shown in green and red.
As soon as you make a commit, you can open a pull request and start a discussion, even before the code is finished.
By using GitHub’s @mention system in your pull request message, you can ask for feedback from specific people or teams, whether they’re down the hall or 10 time zones away.
You can even open pull requests in your own repository and merge them yourself. It’s a great way to learn the GitHub flow before working on larger projects.
Open a Pull Request for changes to the README
Click on the image for a larger version
StepScreenshotClick the Pull Request tab, then from the Pull Request page, click the green New pull request button.
In the Example Comparisonsbox, select the branch you made,
readme-edits, to compare with
main (the original).
Look over your changes in the diffs on the Compare page, make sure they’re what you want to submit.
When you’re satisfied that these are the changes you want to submit, click the big green Create Pull Requestbutton.
Give your pull request a title and write a brief description of your changes.
When you’re done with your message, click Create pull request!
Tip: You can use emoji and drag and drop images and gifs onto comments and Pull Requests.
Step 5. Merge your Pull Request
In this final step, it’s time to bring your changes together — merging your
readme-edits branch into the
- Click the green Merge pull request button to merge the changes into
- Click Confirm merge.
- Go ahead and delete the branch, since its changes have been incorporated, with the Delete branch button in the purple box.
By completing this tutorial, you’ve learned to create a project and make a pull request on GitHub!