diff --git a/git.md b/git.md
index 4f5110276365e803980f7a9d024d7a759aef96bf..f086ef414c5de646086e264620df1b17be29e578 100644
--- a/git.md
+++ b/git.md
@@ -393,6 +393,23 @@ git merge --abort
 
 This won't help you resolve the conflicts but it will rollback to the state before invoking `git merge`.
 
+### Git Workflow
+
+There is a variety of of branching strategies and workflows. A well structured workflow promotes organization, efficiency and code quality.
+
+Here we will focus on the **Feature Branch Workflow** which is simple to learn and to use.
+
+In short, developers create separate branches for each feature or bugfix, keeping the ‘main’ branch stable. 
+When a feature is complete, the developer submits a `pull request` or `merge request` to integrate the changes back into the main branch after a code review.
+
+#### Pull/Merge Request
+
+`Pull request` or `merge request` is usually provided by the collaborating platform such as GitLab and GitHub. A pull request notifies other development team members of changes made in your local repository.
+
+Here is a simple workflow with pull request that you and your team can follow:
+
+![](./images/pull-request.png)
+
 ## Common Misconceptions
 
 ### Github/Gitlab/etc. != Git
diff --git a/images/pull-request.png b/images/pull-request.png
new file mode 100644
index 0000000000000000000000000000000000000000..29ebe3187363d2edf3cd59a6e325e4a27267390c
Binary files /dev/null and b/images/pull-request.png differ