DEV Community

Cover image for From Fork to Pull Request: A Practical GitHub Collaboration Workflow
Rahimah Sulayman
Rahimah Sulayman

Posted on

From Fork to Pull Request: A Practical GitHub Collaboration Workflow

Modern software development is built on collaboration, and GitHub is at the center of that workflow.
Every contribution to an open-source project starts with a single Pull Request. This article walks through a practical GitHub collaboration workflow, from forking a repository to submitting production-style Pull Requests for review—using the same process followed by development teams.

This project reinforced practical version control skills that are essential in Cloud and DevOps environments, including working with feature branches, synchronizing forks, writing meaningful commits, and contributing through Pull Requests.

Step 1: Fork the Repository

The workflow began by creating a personal fork of the original repository. This provided an independent copy where changes could be made safely without affecting the upstream project.

The fork serves as the working repository for development before changes are proposed back to the original project.

upstream

mine

Step 2: Clone the Repository

After forking the project, I cloned my fork to my local development environment using Git. This enabled me to work on the project locally while maintaining a connection to my GitHub repository.

The local repository became the workspace for implementing changes, reviewing modifications, and managing version history before publishing updates.

clone

Step 3: Configure the Upstream Repository

To keep my fork synchronized with the original project, I configured the upstream repository as an additional remote.

This made it possible to fetch the latest changes from the original project before starting new work, ensuring my local repository stayed aligned with the latest codebase.

upstream/main

Step 4: Create a Feature Branch

A dedicated feature branch was created to isolate the changes from the main branch, following a standard collaborative Git workflow.

feature

Step 5: Contribute to the Project

I updated the project documentation by adding my contributor profile and committed the changes using a descriptive commit message.

contributors.md

Step 6: Push the Feature Branch

The completed work was pushed to my GitHub fork, making it ready for review through a Pull Request.
The arrow points to the Pull Request link.
pr

The link opened a Pull Request through which the feature branch was submitted for review, thereby allowing the repository owner to review and merge the contribution.
The Pull Request was approved and merged.

pr approve

Step 7: Submit a Documentation Improvement

After the initial contribution, I created a second feature branch to improve the project's README by clarifying the browser prerequisites and submitted another Pull Request.

pr for readme

Summary

This repository reflects hands-on experience with collaborative software development using Git and GitHub. It showcases practical skills in branching strategies, repository synchronization, documentation contributions, and Pull Request-based collaboration—core practices used across modern engineering and DevOps teams.

I look forward to applying these skills in professional environments while continuing to expand my expertise in Cloud and DevOps technologies.

Top comments (0)