Create a summary of this:

A branch is a snapshot of your repository to which you can make changes. It is a copy of the master branch and can be used to develop and test workflow changes before merging it into the master branch. In Git and GitHub, there is a main branch called master. It has the deployable code and is the official working version of your project. It is meant to be stable, thus, it is advisable not to push any code that has not been tested in the master. If you want to change the code and the workflow in the master branch, you can create a copy of the master branch. This can be the child branch that will be a copy of the workflow. In the child branch, changes and experiments are done. You can build, make edits, test the changes, and when you are satisfied with them, you can merge them back to the master branch, where you can prepare the model for deployment. You can see that all of this is done outside the main branch and until you merge, changes will not be made to the workflow before you branched. To ensure that changes done by one member, do not impede or affect the workflow of other members, multiple branches can be created and merged appropriately with the master after the workflow is properly tested and approved. To create branches in GitHub, let’s look at this repository. There is currently one branch in the repository. You want to make some changes but don’t want to alter the master in case something goes wrong, so you will create a branch. To do that, you will click the drop-down arrow and create a new branch. Name the new branch ‘child branch’ and then click enter. The repository now has two branches, the master and child branches. You can check this by selecting the child branch in the Branch selector drop-down list. All the content in the master branch is copied to the child branch. However, you can add files in the child branch without adding any to the master branch. To add a file, ensure the child branch is selected in the branch selector drop-down list. Then click Create new file. In the space provided, name the file ‘test child dot py’ and then add a few lines of code. You can print the statement inside the child branch. At the bottom of the screen, you will see a section, ‘Commit new file.’ Commit messages are important as they help to keep track of the changes made. Add a descriptive commit message for the convenience of the team. Here you can add ‘Create test child dot py.’ Then click Commit new file. The file is added to the child branch. You can verify by going to the master branch by clicking ‘master’ from the Branch selector menu, and you can see that the new file is not added to the master branch. After you have created the new file, test and ensure it is working. You can merge the changes in the child branch to reflect in the master branch by creating a Pull Request (PR). Pull requests show the differences in the content from both branches. It can notify other team members of the changes and edits to the main branch. Ideally, another team member reviews the changes and approves them to be merged with the Master branch. Pull requests are a means of collaboration on GitHub. When you open a pull request, you propose your changes. You can assign team members to review and approve your contribution and merge in the target branch. To open a pull request to see the differences between the branches, click Compare and pull request. If you scroll down to the bottom of the screen, you will see the comparison between both branches. It shows that one file has changed, and the file has two additions, the two lines you added to the file with zero deletions. You will now create the pull request. Add the title and an optional comment. Click Create pull request. The next screen will show the details of the pull request. If you are okay with the changes, click Merge pull request and then click Confirm. You will get a confirmation that the pull request has been successfully merged. You can delete the branch if you no longer need to edit or add new information. Now, the child branch has completely merged with the Master branch. You can check the Master branch and verify it contains the test child dot py file. In this video, you learned: A branch is a snapshot of your repository to which you can make changes. In the child branch, you can build, make edits, and test the changes, and then you can merge them with the Master branch. To ensure that changes done by one member do not impede or affect the workflow of other members, multiple branches can be created and merged with the master. And, a pull request is a way to notify other team members of the changes and edits to the main branch.