in this article i will be sharing what i have learnt about
- Version control
- Forking
- Collaboration
- Pull Requests
- Merge Conflicts
- Code Reviews
- GitHub Issues
- Git Commands
- Pushing Changes to GitHub
Let’s get into it!
(a)version control
Version control software helps facilitate continuous software development workflows. As user demands scale up, version control helps developers work smarter together, using time and resources more efficiently.
It keeps a historical record of software changes in a specialized database, logging edits made by individual developers. When conflicts emerge, developers can look back and resolve code conflicts, minimizing disruption to the codebase.
here is the article i used to learn
_https://github.com/resources/articles/software-development/what-is-version-control
_
(b) forking
forking is the process of creating your own copy of someone's else project on github ,it is mainly used if you dont have access to the original respiratory
If you have write access to the original repository, you don’t need a fork. Instead, use branches to manage your work. If you don’t have write access to a repository you want to contribute to, fork it. Make your changes in your fork, then submit them through a merge request to the upstream repository.
here is the article with more details
_https://docs.gitlab.com/user/project/repository/forking_workflow/
(c)collaboration
Collaboration in GitHub means working on shared code with others—whether you're on the same team or contributing to someone else’s project.
Here’s what good collaboration includes:
- Keeping commits clean and meaningful
- Creating branches for features or fixes
- Communicating through issues, PRs, and comments
Pro tip: Branch before you make changes (git checkout -b feature-branch
) and avoid working directly on the main
branch.
(d) pull request(pr)
pull request (PR) is how you propose changes from your branch (or fork) into another repository.
📥 Basic Steps:
- Fork or clone the repo
- Make changes in a new branch
- Push to your GitHub repo
- Click “New pull request” in GitHub
It opens a discussion space where reviewers can comment, approve, or request changes.
here is the link to learn more
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request
(e) merge conflicts
Merge conflicts happen when changes from different branches clash—often when two people edit the same lines of code.
How to resolve them:
- Git tells you which files have conflicts.
- Open the file and manually choose what to keep.
- After editing, run: git add . git commit
here is the link to learn more
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts
(f) Code Review
Before merging a PR, team members usually **review **your code. This ensures quality, consistency, and avoids bugs.
In code review, I learned to:
Give clear commit messages
Write readable code
Leave helpful comments (when reviewing others)
(g) GitHub Issues
Issues are a great way to track bugs, feature requests, or general tasks in a project. I’ve used them to:
Plan what needs to be done
Assign tasks in teams
Link PRs to issues for better tracking
You can add labels, assign people, or even automate issue handling with bots.
(h)Useful Git Commands
**Here are some of the commands to use regularly:
git clone <repo-url> # Copy a repo to your machine
git checkout -b branch-name # Create and switch to a new branch
git status # Check what has changed
git add . # Stage all changes
git commit -m "message" # Save changes with a message
git push # Upload changes to GitHub
git pull # Get the latest changes from remote
git fetch # Check for updates without merging
git merge # Merge another branch into your current one
here is the link to git cheat sheet
_https://training.github.com/downloads/github-git-cheat-sheet/
_(i) Pushing Changes to GitHub
**Once the work is done locally, here’s how to push it to GitHub:
git push origin branch-name
Then open a pull request from GitHub’s UI. This step is key in contributing to projects and sharing your work with others.
(j)final thoughts
finally I would recommend using this site for practical experience
_https://skills.github.com/
_
Top comments (0)