| 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							id: git-workflow-vscode | 
						
						
						
						
							 | 
							
								 | 
							
							title: Git & Pull Request Workflow | 
						
						
						
						
							 | 
							
								 | 
							
							sidebar_label: Git & Pull Requests | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# 📌 Git & Pull Request Workflow | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							Git is a **distributed version control system** commonly used in software development.   | 
						
						
						
						
							 | 
							
								 | 
							
							This guide explains the **basic usage of Git**, the **workflow with Pull Requests**, and the **integration with Visual Studio Code**. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 📝 Prerequisites | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							- Installed Git ([Download here](https://git-scm.com/)) | 
						
						
						
						
							 | 
							
								 | 
							
							- GitHub, GitLab, or Bitbucket account (for remote repositories) | 
						
						
						
						
							 | 
							
								 | 
							
							- Basic knowledge of Terminal or CLI | 
						
						
						
						
							 | 
							
								 | 
							
							- **Optional:** [Visual Studio Code](https://code.visualstudio.com/) for an easier Git workflow | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🔧 Step 1: Installing Git on Windows, Linux & macOS | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							### 1️⃣ Installing Git on Windows | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							1. Download Git from [git-scm.com](https://git-scm.com/). | 
						
						
						
						
							 | 
							
								 | 
							
							2. Run the installer and follow the setup instructions. | 
						
						
						
						
							 | 
							
								 | 
							
							3. Choose the default terminal as "Git Bash" or "Command Prompt." | 
						
						
						
						
							 | 
							
								 | 
							
							4. Verify Git installation: | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   git --version | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							### 2️⃣ Installing Git on Linux (Debian/Ubuntu) | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							sudo apt update && sudo apt install -y git | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							### 3️⃣ Installing Git on macOS | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							brew install git | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🔧 Step 2: Configuring Git | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							After installation, configure Git with your name and email: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git config --global user.name "Your Name" | 
						
						
						
						
							 | 
							
								 | 
							
							git config --global user.email "your.email@example.com" | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							Verify your Git configuration: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git config --list | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 📂 Step 3: Creating & Cloning a Repository | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							### 1️⃣ Creating a New Repository | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							On GitHub, GitLab, or Bitbucket: | 
						
						
						
						
							 | 
							
								 | 
							
							- Create a new repository with a **name** and an optional **README file**. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							### 2️⃣ Cloning a Repository | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							To clone the repository locally: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git clone https://github.com/USERNAME/REPOSITORY.git | 
						
						
						
						
							 | 
							
								 | 
							
							cd REPOSITORY | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🔨 Step 4: Making Changes & Committing | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							1. **Create a new file or modify an existing one:** | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   echo "Hello World" > hello.txt | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							2. **Check the status of changes:** | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   git status | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							3. **Add changes to the staging area:** | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   git add hello.txt | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							4. **Commit the changes:** | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   git commit -m "Added my first file" | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🔄 Step 5: Pushing Changes to the Remote Repository | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							To push changes to GitHub/GitLab: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git push origin main | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							If working on a new branch: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git push origin feature-branch | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🌿 Step 6: Creating & Using Feature Branches | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							### 1️⃣ Creating a New Branch: | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git checkout -b feature-new-feature | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							### 2️⃣ Making Changes and Committing: | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git add . | 
						
						
						
						
							 | 
							
								 | 
							
							git commit -m "Added a new feature" | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							### 3️⃣ Pushing the Branch to Remote: | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git push origin feature-new-feature | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🔄 Step 7: Creating a Pull Request (PR) | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							1. **Go to your repository on GitHub/GitLab.** | 
						
						
						
						
							 | 
							
								 | 
							
							2. **Switch to the new branch and click "Create Pull Request."** | 
						
						
						
						
							 | 
							
								 | 
							
							3. **Describe the changes and submit the PR.** | 
						
						
						
						
							 | 
							
								 | 
							
							4. **Wait for a code review and make any necessary adjustments.** | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🔄 Step 8: Merging a Pull Request | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							Once your PR is approved: | 
						
						
						
						
							 | 
							
								 | 
							
							- Click **Merge Pull Request**. | 
						
						
						
						
							 | 
							
								 | 
							
							- Optionally, delete the branch: | 
						
						
						
						
							 | 
							
								 | 
							
							  ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							  git branch -d feature-new-feature | 
						
						
						
						
							 | 
							
								 | 
							
							  git push origin --delete feature-new-feature | 
						
						
						
						
							 | 
							
								 | 
							
							  ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🔄 Step 9: Keeping Your Repository Up-to-Date | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							If the `main` branch has been updated, sync your local repository: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git checkout main | 
						
						
						
						
							 | 
							
								 | 
							
							git pull origin main | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							If working on a branch, merge `main` into it: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							```sh | 
						
						
						
						
							 | 
							
								 | 
							
							git checkout feature-new-feature | 
						
						
						
						
							 | 
							
								 | 
							
							git merge main | 
						
						
						
						
							 | 
							
								 | 
							
							``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							If merge conflicts occur, resolve them and commit again. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 💻 Using Git in Visual Studio Code | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							1. **Install Visual Studio Code:**   | 
						
						
						
						
							 | 
							
								 | 
							
							   Download and install it from [here](https://code.visualstudio.com/). | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							2. **Enable Git in VS Code:** | 
						
						
						
						
							 | 
							
								 | 
							
							  - Open **VS Code**. | 
						
						
						
						
							 | 
							
								 | 
							
							  - Press `Ctrl + P` (Windows/Linux) or `Cmd + P` (macOS) and type `Git: Enable`. | 
						
						
						
						
							 | 
							
								 | 
							
							  - If Git is not detected, set the Git path in the settings. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							3. **Cloning a Repository:** | 
						
						
						
						
							 | 
							
								 | 
							
							  - Open the `Terminal` in VS Code (``Ctrl + ` ``). | 
						
						
						
						
							 | 
							
								 | 
							
							  - Run the following command: | 
						
						
						
						
							 | 
							
								 | 
							
							    ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							    git clone https://github.com/USERNAME/REPOSITORY.git | 
						
						
						
						
							 | 
							
								 | 
							
							    ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							4. **Making Changes & Committing:** | 
						
						
						
						
							 | 
							
								 | 
							
							  - Modify files in VS Code and save them. | 
						
						
						
						
							 | 
							
								 | 
							
							  - Open the **Source Control** sidebar (`Ctrl + Shift + G`) to see changes. | 
						
						
						
						
							 | 
							
								 | 
							
							  - Click the `+` button to stage changes. | 
						
						
						
						
							 | 
							
								 | 
							
							  - Enter a commit message and click `Commit`. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							5. **Pushing Changes:** | 
						
						
						
						
							 | 
							
								 | 
							
							  - Click `Sync` in the **Source Control** tab, or run: | 
						
						
						
						
							 | 
							
								 | 
							
							    ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							    git push origin main | 
						
						
						
						
							 | 
							
								 | 
							
							    ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							6. **Branching & Pull Requests:** | 
						
						
						
						
							 | 
							
								 | 
							
							  - Click the **current branch** (bottom left in VS Code). | 
						
						
						
						
							 | 
							
								 | 
							
							  - Select **Create New Branch**. | 
						
						
						
						
							 | 
							
								 | 
							
							  - After making changes, push the new branch. | 
						
						
						
						
							 | 
							
								 | 
							
							  - Create a **Pull Request on GitHub/GitLab**, review, and merge. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## 🛑 Step 10: Troubleshooting (Common Issues) | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							If Git is not working, check: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							1. **Is Git installed?** | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   git --version | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							2. **Is Git recognized in the system path? (Windows)** | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   where git | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							3. **Is the repository initialized correctly?** | 
						
						
						
						
							 | 
							
								 | 
							
							   ```sh | 
						
						
						
						
							 | 
							
								 | 
							
							   git status | 
						
						
						
						
							 | 
							
								 | 
							
							   ``` | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							4. **Are the correct credentials for GitHub/GitLab being used?**   | 
						
						
						
						
							 | 
							
								 | 
							
							   If `fatal: Authentication failed` appears, check your **SSH keys** or **personal access tokens**. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							5. **Merge conflicts?** | 
						
						
						
						
							 | 
							
								 | 
							
							   If `CONFLICT (content)` appears, open the affected files in **VS Code**, resolve conflicts, and commit again. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							--- | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							## ✅ Conclusion | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							Now you are ready to use **Git**, efficiently work with **Pull Requests**, and integrate **Git with Visual Studio Code**. | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							For further reading, check the official documentation: | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							- [GitHub Docs](https://docs.github.com/en) | 
						
						
						
						
							 | 
							
								 | 
							
							- [GitLab Docs](https://docs.gitlab.com/) | 
						
						
						
						
							 | 
							
								 | 
							
							- [Atlassian Git Tutorials](https://www.atlassian.com/git/tutorials) | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							**Happy Coding! 🚀**
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 |