GitHub, the world’s leading open-source repository

    GitHub, the world’s leading open-source repository

    Surely you have heard about GitHub on occasion or have ever entered looking for certain content. Well, we are going to explain what this repository is, what it is for, and how it works.

    Index of contents

    What is GitHub

    open source repository

    It is a platform created so that programmers and software developers can publish their projects in open source. GitHub explained in a simple way is a place where code is stored in the cloud accessible to everyone. But it is also that it acts a bit like a social network since anyone can contribute suggestions to the development.

    All the code that is uploaded to the platform is called open source. This means that any developer can download the code and manipulate it to their liking.

    Although we will explain it better later, indicate that “Git” refers to a version control system. What this system offers is the ability to maintain the consistency and integrity of the files of the software or project that is exposed.

    Stored projects usually include a Wiki or description of the code. This serves to inform whoever is behind the goal of the code and how it works. Usually, parts of the code that perform specific functions are also highlighted.

    GitHub is currently widely used by cryptocurrency software developers. We can find the source code of Bitcoin or Ethereum, among others. In addition, many developers publish the Smart Contracts they develop, the source code of the wallets, and all kinds of solutions. Enhancement proposals for Bitcoin (BIP) or for Ethereum (EIP) are also published in this repository and are discussed by the community and optimized.

    Finally, indicate that Microsoft acquires GitHub in June 2018 for a total of 7.5 billion dollars. The company promised not to make changes to the platform and to let it continue to function the same. It has even published some of the source code for some of its older operating systems or some of the source code for Minecraft.

    What is version control

    github version control

    It is a system that allows you to view and manage the changes made in a file or in a group of these . Software engineers use this mechanism to keep track of modifications made to source code. Something that allows you to analyze all the changes and revert them if necessary at any given time.

    Having this good version control allows developers to work on multiple projects simultaneously. In addition, it serves to make all the changes that are necessary without slowing down the work of colleagues.

    Let’s say a major security breach appears in the new code. Having this version control allows you to roll back the update and go to a stable version without the security breach.

    What is Git

    what is git

    It is a distributed version control system. It allows any developer who has access to the source code, see the history and make the necessary changes. All using the Git command-line tool.

    This open-source project started in 2005 and has become one of the most powerful platforms. Currently, it is estimated that over 87% of developers use Git for their projects.

    It differs from traditional centralized version control systems in that it offers feature branches. Simply explained, the software engineer can create a feature branch that generates an isolated local repository. Something that allows changes to be made in the code without affecting the rest of the development.

    A feature branch does not affect the master branch, which is where the primary code for the project is. When the changes are finished and the code is verified, the feature branch can be joined back to the master branch. This is the mechanism by which the changes are applied to the project.

    What is GitHub for

    what can we do github

    It is used so that developers can upload their projects for free in an open-source format. This allows developers to get out there and make a name for themselves with the developer community. But, the platform also offers the possibility to host a paid version of the project.

    It is built as a collaborative solution between developers and community members. Any uploaded repository is viewed by the community and proposals can be made to improve the code or capabilities of the project in question. But perhaps the most important function is to report bugs in the code and vulnerabilities.

    It also integrates a problem tracking system, which allows anyone to add improvements, suggestions, or optimizations. It also has a code review function, which goes beyond the source code. The tool allows you to implement annotations so that the creator of the code or anyone who visits it, can review it. In addition, discussions can be generated based on the annotations and thus improve the code.

    We also have the possibility to see graphs of how the development of the project is going and its bifurcations. It also allows you to see the updates or changes that have been made. Social media features are also included, allowing you to follow the software developers we like and not miss updates.

    How GitHub works

    github development capabilities

    GitHub contains a large number of elements that need to be detailed in order to fully understand how the platform works. Go for it.

    Repository

    It is where all the information of a project is stored . Not only the code is stored, but also the images, folders, documentation, etc. A unique repository is created for each project, generating exclusive access to the project.

    Branch (ramifications)

    It may be that it is necessary to modify some element of the project in particular and this is done in isolation. This allows the main repository to continue to be accessed without being affected. Something that is done through Branch, which allows you to make an exact copy of the project, but in the testing phase. This allows that any error or any problem does not affect the project and can be solved very quickly.

    Pull Request (Merge)

    When we upload a change in a branch of the project it is important to report it to the rest of the members. For that there are the “Pull Requiest” that allow collaborators to audit the code and thus validate it . This also helps other developers to improve it.

    Tag

    It offers the possibility of controlling the repository by providing information to the rest of the members of the project. This action is called “Tagging” and is of great importance in managing the life of a project. It also allows you to create one if necessary or wanted.

    Fork

    This term is used to refer to the creation of a new project based on an existing one. It offers the possibility of making modifications and storing them in a new repository and not in the original. It allows projects to continue growing thanks to the fact that developers can continue to improve a software on their own. If a big improvement is implemented, it could be implemented to the original project.

    How to get started on GitHub [Step by step]

    The first steps on GitHub, if you’ve never used the platform before, it can be a bit confusing. Before starting you must register, something that is completely normal.

    The free version of the platform offers us the ability to create as many repositories as we want and add as many collaborators as we want, although the storage capacity is limited to 500MB. If we want more capacity or additional functions, we must adhere to a payment plan.

    If it is the first to see that you are going to operate and it is simply to expose what you are developing and create a portfolio, the free version is more than enough.

    Create a repository on GitHub

    Publish your code requires before creating a new repository with the name that we want. From there all the elements will hang, we can create a description, create branches, and do many things. The steps are:

    1. From home we can create a repository in a simple way. We just have to click on Create a repository and it will send us to start creating a new project. If we already have a project started, the New button appears.

    create new open source project

    2. The first thing we will see is the Owner section, where our photo and our name will appear. The next field is the Repository name, which is simply the name that we will give to the project. We will leave it in public so that anyone can access it. We select the Add a README file box and finally click on the Create a repository button

    create new github project

    The process of creating a new repository, as you can see, is quite simple and accessible. This will make it public and available at all times.

    Branching on GitHub

    The branches are different versions or variants of the same repository. Making these changes in the project within the characteristics branch, the developer, in a simple way, can see how it will end up affecting the main project when it is integrated. Creating a new feature branch is pretty simple:

    1. We go to the repository that we have created and click on main. Now we enter the name of the new branch that we want to create and click on the Create Branch button

    It’s that simple to create a new feature branch that has an identical layout to the main one. We introduce here the changes we want without affecting the original project.

    Commits for changes

    Commits are the name given to changes stored within GitHub. Whenever we make a change within a feature branch, we must make a Commit to keep it. The process of creating and confirming it is as follows:

    1. We have to access the branch of characteristics in question by clicking on main. Now a drop-down menu appears and we choose the branch that we just created, for example.

    2. We must now click on the pencil icon on the right side to edit the file. Once finished, we can implement a description of the changes made. When everything is ready, we save the changes by clicking on Commit changes

    Create pull requests

    One of the most interesting capabilities of GitHub is the ability to ask the rest of the developers working on the project to review the added code. This requires the creation of a pull request. Something that facilitates teamwork in the same project, encouraging collaboration and participation.

    These prompts allow you to see the difference between the original project and the proposed feature branch. The other members of the project can see the code and suggest improvements. When the other developers give their approval, the pull request will be merged with the main project.

    If you want to make a pull request, you must follow these steps:

    1. To implement one of these requests we must follow the following steps: Pull requests> New pull request. Within Example comparisons, we choose the branch of characteristics in which we work

    2. Now we must click on Create pull request. A new page opens where we can add a title and add new code and the corresponding description. To finish the process we must click on the Create pull request button

    make pull request

    When everything is done, the changes made to the original files can be merged.

    Final words on GitHub

    The code repository is currently widely used by developers who want to share their solutions. Many even turn to GitHub to improve the code they are developing, seeking collaboration from other developers. There are also many who take advantage of pieces of code for their developments. The possibilities of this repository are enormous and it is used by millions of programmers around the world.

    We recommend this article in which we explain what it is and what types of software exist

    GitHub has been a popular tool for a long time, but it has gained a lot of traction with cryptocurrencies. We can find the source code of Bitcoin, Ethereum, Monero, and many other cryptocurrencies. It is also common to find the code of different Smart Contracts, the code of different decentralized exchanges such as Uniswap or SushiSwap. You can even find code for solutions or improvement proposals, such as the code from Taproot, Lightning Network, or Ethereum London, among others.

    But there is more, and what many programmers do is create their own portfolio. They include pieces of code or solutions that they have developed, making a name for themselves in the community or for talent scouts looking to onboard new developers.

    Leave a Reply

    Your email address will not be published. Required fields are marked *