Create your First Pull Request on GitHub | Estefania Cassingena Navone | Skillshare

Playback Speed

  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

6 Lessons (13m)
    • 1. Welcome to the Class

    • 2. Introduction to Forks and Pull Requests

    • 3. Fork a Repository

    • 4. Clone a Repository

    • 5. Create Pull Requests

    • 6. Merge Pull Requests

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

Learn step by step everything you need to create your first pull request on GitHub.

In this class you will:

  • Learn what forks and pull requests are.
  • How to fork a repository.
  • How to clone a repository.
  • How to make your first pull request.
  • How to merge a pull request another user sent you.

ThenĀ apply what you learned by forking, cloning and submitting a pull request to a real GitHub Repository!

In just minutes you will add a new skill to your toolbox with this short course and you will be on your way to a bright future in software development. See you in class!

Note: git commands will be explained but you should be familiar with the concept of branches, you need to have a GitHub account and you should have an SSH key configured to send files and repositories to GitHub.

Meet Your Teacher

Teacher Profile Image

Estefania Cassingena Navone

Developer & Bs. Mathematics Student


Hi! I'm Estefania. It's great to you. I really love computer science and programming and my number one priority is to make my classes engaging and practical.

I received the Women Techmakers Udacity Scholarship to learn Android Development and I have serve as Community Teaching Assistant for MITx “Introduction to Computer Science and Programming Using Python”. 

I founded and currently write for the Techmacademy publication on Medium and I currently write for freeCodeCamp News.

I've focused on creating short classes that go straight to the point so you can learn faster and start applying your new skills right away. Choose the right class for you.

Follow me on Medium.

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.


1. Welcome to the Class: welcome to this section on forks and pull requests. This is where the true power of get help unlocks because, for example, requests are essential for collaborating with other projects and developers on get help. In this lesson, you will learn what is a fork? What is a pull request, how to fork a repository and how to create and merge. April request. Let's begin. 2. Introduction to Forks and Pull Requests: Now let's dive into forks and pull requests. Let's say you browse to the profile page of another get up user User one. And you found a project that you would like to collaborate to. The first step to collaborate is to fork the project, which means creating a copy of the project on your own get have account. Get home has a four button for this purpose that you will see in the next video. Once you have the project in your get help account, you can clone the project to your own computer and make changes to it. Then you send those changes to your own get help account and then back to the original project to be incorporated. The process of sending changes from your get help account to be incorporated to the original project is called Creating April Request. April Request is a request that you are making to the original owner of the project to incorporate the changes that you've made to the project. See how forks and pull requests really unlock the power of collaboration. This is a really vital element or suffered about mint. Now let's see both of them in action. By the end of this section, you will create your very own pull request 3. Fork a Repository: Now let's for a repository. Let's say we're interested in a project created by the user Tefece e. We find her yusor through the search bar, then click on the repository, stop and find the project. You can also filter the project by name. We click on it and see that it only contains one JavaScript file. If we want to fork it, we click on the fourth bottom located right here. You will see this very nice animation. And now you have your very own copy of this project. On your get help count, you'll notice some new elements that we will walk through in detail. First, we have this folder path, our user name followed by the name of the repository. We have this folder bath in a smaller phones with the user name of the original owner of the project. On the original folder back, the original project and the Fort Project retain a connection so you can make pull requests by simply clicking on the bottom. This is why this new information is displayed in contrast with the previous repositories that we had created. You can also see that this branch is even with FTC Master This means that no new commence have been made on the original repository compared to the fort repository that you have in your account. Let's see this in more detail when your fork a project that is currently being developed and there are many contributors. You will find this scenario very often. You were working on your local copy off the project that you fort perhaps a couple of days ago. At this point, you haven't made any convinced to your fort repository and the master branch is exactly the same as the master branch of the original project. But what you don't know is that another developer has made a contribution to the master branch of the original project before you. Now your contribution may have conflicts with the changes made tow. Avoid this. You can check very often if there are changes to the original branch, you can see the difference between the branch on your fork repository and the original repository. By clicking. Compare. You learn so much more about how to approach this changes and how to incorporate them to your project in the section on Get help collaboration off the course in the next video we will clone to get help repository into our computer, which is making a copy of your repository. Then we will make some changes to the project. And finally, April request. See you air. 4. Clone a Repository: Now that's clone the project to our computer. If we fork a project, we need a way to make changes to it on our computer. Locally, this is what cloning is all about. A close of repository. We just fort as a local repository on our computer. Let's see this in action. We go to the Fort Project on our get help account and click on this green button. Clone or download. We can clone the project using the https or ssh, you URLs. Since we set up our ssh key will use at this time, click on this button to copy it and then open get bashed, navigate to the folder that will contain the folder with the repository. This are nested folders. For example, If we have a Projects folder in my documents, we would never get to this projects folder and then execute the command. Get clone, followed by the ssh ur A. We've just copied. And this would create a new folder with the name off the repository. And that folder will contain all the files. Let's do this right now. In my case, I never gave to a get a folder contained in my documents once. Um, in that folder, I enter the command, get clone, followed by the girl. After we see the message that the cloning has been successful, we can check directly on the folder path we specified and confirmed that the files are there. Indeed, the awesome thing about cloning is that you also clone the entire repository, including previous commits. In the next video, we will make a modification to the file, push the changes to our get help account and making full request. See you there. 5. Create Pull Requests: now let's great our first full request. Let's specialize. What we're going to do will make some changes to our Java script file and created Come in. At this point, we will be one commit ahead of the master branch of the original project, since no one has made it any contributions yet, Then we will push our files to get help and create a pull request by creating a pull request. We're asking the owner of the project if he or she would like to incorporate the changes we made to the original repository if the owner merges the pull request. In this case, merch means including the changes. The original repository will now have one more commit the one that we created. Let's do it. It is very useful to create a new branch with our changes. This way, our master branch remains intact in case the user doesn't want to include our changes or ask for modifications before emerging them. Let's open, get bash and navigate towards repository. Now let's create a new branch named Renamed Function. Now we'll make the changes. Let's open our JavaScript file in a text editor in this case note bath. But if you're working with code, it is very useful to us. A text editor with syntax highlighting Let's rename this function to return string length and save the file open, get bashed on to commit the changes and finally pushed the changes to origin. Now, if we check get help, we'll see a message saying that we recently pushed branches and asking if we would like to make it pull requests. Let's click on Compare and Pull request. We will need to choose a branch that we would like to send on the branch of the original repository, that we would like to send the changes to this one sense and this one receives. In this case, we want to combine the changes from our rename Function branch to the master branch of the original repository. We have the option to write a short description of the pull request for the owner of the project to analyse if he or she would like to merch or changes. This is formatted using get help Leeward mark down, which means that you can add links, images, emojis and mentioned users. We will see this in detail in the section on Get help flavored marked down Let's write renamed the Function. To be more specific as our message for the project owner, you can also see a breakdown by file off the lines that were modified. The owner of the project will see them as well. In this case, we changed this line. Now you click on create full request and voila! You're pull Request has been submitted. Congratulations. Amazing job. In the next video, we will see the other side of pull requests the side of the user who is receiving the pull request because sometimes you will receive full requests as well for your projects. And you need to be prepared and know how to merge contributions to your very own projects. See you there. 6. Merge Pull Requests: Now let's see pull requests from the side of the user who receives the pull request the owner of the project. Most of these features are visible to the user who creates the pull request. A swell, but the owner of the project is the only one who Kam urged the changes. We're on the user deaf, easy, and we received a pull request for the project. We go to the pull request stop and we see that there is one full request pull requests. I have not been merged. Have two states open or closed If they are open, that means that they are waiting for approval from the project owner. They're closed. That means that the project owner did not approve your changes or they were already merged . They usually write comments explaining where you need to change, so don't worry. If we want to see more details on this pull request, we click on it. We can see that the pull request it's open and that if approved, the changes will be added to the master branch. We can also see the user who created the pull request that he or she is a first time contributor to the project the message that the user wrote to describe the changes and the commenced that are to be incorporated. We also have these taps, commits checks and files changed commits displays. A timeline of the commits. Submit it. If you click on a commit, you can see more details exactly the same us in the video where we introduce commits. If you click on files changed, you will see the files with their corresponding additions and deletions. The project owner can have comments to suggest improvements or modifications to your code. There are three options for the project owner to provide feedback for your contribution by clicking on review changes here, she can leave a comment and select one of these options, so either leaving comment and not approve merging the changes to leave a comment and Murch the changes or to request changes explicitly. Now let's click on the conversation top. This is where you can chat with the project owner in more detail. In this case, since I'm the project owner, I can merge the changes by clicking on this bottom. I can also look the conversation and close the pull request. You may have noticed this message. This branch has no conflicts with the base branch. Conflicts can occur on get up. For example, if there are changes to the same line in two separate branches and then we need to merge those branches, we need to pick which version to keep. In the next article, you will learn more about conflicts. Hope you like it.