Collaborating with GitHub – A Guide to Teamwork & Code Management

Why Collaborate on GitHub?

GitHub is more than just a place to store code—it’s a powerful collaboration platform that enables teams to work together efficiently. Whether you’re contributing to open-source projects or working within a development team, GitHub helps you:

Track changes & contributions – Every change is recorded, ensuring a clear project history.
Collaborate with Pull Requests – Propose, review, and merge changes smoothly.
Work with Issues & Discussions – Manage tasks, bugs, and feedback all in one place.
Use Branches for Safe Development – Keep your main codebase stable while developing features separately.

This guide covers the key aspects of collaborating on GitHub, including pull requests, code reviews, and best practices for teamwork.


Forking & Cloning a Repository

If you want to contribute to a project you don’t own, you need to fork and clone it first.

Forking a Repository (For Open-Source Contributions)

1️⃣ Go to the repository on GitHub.
2️⃣ Click Fork (top-right corner).
3️⃣ This creates a copy of the repository under your GitHub account.

Cloning a Repository (To Work Locally)

To copy a repository to your computer:

git clone <repository-url>

Example:

git clone https://github.com/user/project.git

Then, navigate into the project folder:

cd project

Now you can start working on the code!


Working with Branches

To avoid modifying the main branch directly, create a new branch:

git checkout -b feature-branch

Make your changes, commit them, and push the branch:

git add .
git commit -m "Added a new feature"
git push origin feature-branch

Creating & Managing Pull Requests (PRs)

Once your changes are pushed to GitHub, you need to create a Pull Request (PR) to propose merging them into the main branch.

Creating a Pull Request

1️⃣ Go to your repository on GitHub.
2️⃣ Click Pull RequestsNew Pull Request.
3️⃣ Choose the base branch (where changes should be merged) and your feature branch.
4️⃣ Add a title and description explaining your changes.
5️⃣ Click Create Pull Request.

Requesting a Code Review

Tag a teammate for review using:

@username Can you review this PR?

They’ll get a notification and can leave comments or approve the changes.


Reviewing & Merging Pull Requests

Once a PR is created, team members can review the code, suggest changes, or approve it.

Reviewing a Pull Request

1️⃣ Go to the PR page.
2️⃣ Click Files changed to review the code.
3️⃣ Leave comments by selecting specific lines.
4️⃣ Click Approve or Request changes.

Merging a Pull Request

If the PR is approved and ready to be merged: 1️⃣ Click Merge pull request.
2️⃣ Choose Squash & merge (for a clean history) or Rebase & merge (to maintain commits).
3️⃣ Click Confirm merge.

After merging, delete the branch to keep the repository clean:

git branch -d feature-branch
git push origin --delete feature-branch

Best Practices for GitHub Collaboration

Write meaningful commit messages – Clearly describe what the change does.
Keep branches small & focused – Avoid large PRs with too many changes.
Review code thoroughly – Look for bugs, readability issues, and improvements.
Use GitHub Issues – Track bugs, enhancements, and discussions effectively.


Next Steps

Now that you know how to collaborate on GitHub, explore more advanced topics:

Collaborating with GitLab – Learn how GitLab offers similar features for team workflows.
Merging Branches – Understand different merge strategies for handling PRs effectively.

Need help? Check the GitHub Docs or ask in the comments!