Demo 6: Forking Workflow - and Pull Request
Start course
2h 8m

Take this beginner-level course on 'Atlassian BitBucket' to delve into the core principles and applied benefits for your software projects. This course, made up of 8 lectures and 14 demos, will expertly teach and explain how to perform Git-related tasks along with implementing and connecting BitBucket to third parties while always being aware of the various security options available.

This course would appeal to a range of job roles including software developers, build and release engineers and DevOps practitioners. All of the skills that you will gain from doing this course will yield a tangible dividend for the projects with your enterprise; allowing you to use, control and manage BitBucket to manage and maintain your software products.

Learning Objectives 

  • Understand the basic principles of version control as implemented using the Git protocol and
  • Learn how to effectively use BitBucket to manage and maintain your software projects
  • Assess the benefits of using BitBucket to manage and secure your software engineering assets
  • Recognize and explain how to perform all basic Git related tasks such as creating and cloning a repository, branching, and merging.
  • Study to implement and connect BitBucket with other 3rd party systems 
  • Be aware of the different security options available to secure your BitBucket setup
  • Be able to use, control, and manage BitBucket through either using the web-based administration console and/or by using a git client.

Intended Audience

  • Software Developers 
  • Software Build and Release Engineers
  • DevOps Practitioners


To be able to get the most out of this course we recommend having a basic understanding of:

  • Software development and the software development life cycle
  • Software development tools
  • Version control and associated workflows

Related Training Content

After completing this course we recommend taking the 'Introduction to Continuous Integration' Course

To discover more content like this, you will find all of our training in the Cloud Academy Content Training Library.


Okay welcome back. In this demonstration we're going to take a look at the forking workflow. In the previous demonstration, we used feature branches as a method for controlling parallel development. This demonstration is going to focus on using forking as a method for parallel development. Okay let's begin. Okay the first thing we'll do is we'll select the CADemo repository. This is going to be the repository that we fork from. Click on the create button. We then select the fork this repository option. For a name we're going to call it CADemo4. Click on the fork repository. In the background, BitBucket has taken a complete copy of the CADemo repository and created this new repository called CADemo4. Okay. Let's now clone this so we'll select HTTPS. We'll copy the url and we'll jump over into the terminal. Pasting the clone url. We do a directory listing. And we'll navigate into our new local repository: CADemo4. All listing, okay. We'll open this up in Visual Code. We'll select the index.html file. And here we'll implement Feature2. Okay, we'll save that. Jump back into the terminal.

 We'll do a git status. You can see we have a single modified file. This time we'll do a add into staging and commit operation in one go. Achieving this by running git commit -a -m Feature2 implementation. And then finally a git push. Okay that's completed successfully. Back into BitBucket. We'll go to commits. You can see our Feature2 implementation has been received successfully. We'll now create a pull request. Click on the create pull request button. You can see that the source repository is CADemo4. And the destination repository is CADemo. And we're going from master to master. Feature2 complete. Please merge. And we'll click the create button. Okay, the pull request has been created and BitBucket in the background has swapped us back into the original repository: CADemo. So we can now review this and this time we're going to make a comment. So before we merge please add the date to this line in DD/MM/YYYY format. And we'll throw in a smiley face. Save. Okay. As the implementer of Feature2, I can do this. Save. So I'll jump into Visual Code. I'm now going to add. 

I'm now going to add the date. I save. Go back to the terminal. Updated with, with date. Enter. I'll do a git push. Okay that's completed. I go back to BitBucket. I will comment again. I have now added the date. Please merge. Save. And now what I can do is reload the pull request completely. And this time, the index.html is showing the latest commit is pushed into CADemo4 and the three prior comments are still here for viewing. Okay. Now as a reviewer of the pull request, I can simply approve. I'm happy with the change. And then I can merge. The merge strategy again is going to be a merge commit. For default. Clicking merge. And the change has now been successfully merged back into the CADemo repository. We can look at the source. And if we look at index.html, again, we can see that Feature2 has indeed merged successfully into the orignal CADemo repository. Okay. That completes this demonstration on the forking workflow. Go ahead and close this demonstration and we'll see you shortly in the next one.

About the Author
Learning Paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).