diff --git a/courses/github/clone-a-repository.md b/courses/github/clone-a-repository.md
index e69de29bb..f89f5660f 100644
--- a/courses/github/clone-a-repository.md
+++ b/courses/github/clone-a-repository.md
@@ -0,0 +1,80 @@
+---
+id: clone-a-repository
+title: Clone a Repository
+sidebar_label: Clone a Repository
+sidebar_position: 4
+description: Learn how to clone a repository from GitHub to your local machine using Git. Clone a project, work on it locally, and push your changes back to GitHub.
+tags: [github, git, version control, collaboration, beginners]
+keywords: [github, git, version control, collaboration, beginners, open source, repository, clone, project]
+---
+
+**To work on a project from GitHub, you need to clone the repository to your local machine. This allows you to make changes to the project, work on new features, and contribute to the codebase.**
+
+
+To clone a repository from GitHub, follow these steps:
+
+1. Go to [GitHub](https://github.com/) and log in to your account. After logging in, you will see your GitHub dashboard.
+
+
+ 
+
+
+2. Navigate to the repository you want to clone. You can find repositories on your dashboard, in your profile, or by searching for a specific repository.
+
+
+ 
+
+
+3. Click on the repository you want to clone to open its main page. On the main page, you will see the repository details, code, issues, and other information. For example, let's clone the "hello-world" repository.
+
+
+ 
+
+
+4. Click on the "Code" button to open the code download options. You can clone the repository using HTTPS, SSH, or GitHub CLI. For this tutorial, we will use HTTPS.
+
+
+ 
+
+
+5. Copy the HTTPS URL of the repository. You will use this URL to clone the repository to your local machine.
+
+
+ 
+
+
+6. Open your terminal or command prompt on your local machine. Navigate to the directory where you want to clone the repository. Use the `cd` command to change directories.
+
+ ```bash title="Terminal"
+ cd path/to/directory
+ ```
+
+7. Clone the repository using the `git clone` command followed by the HTTPS URL you copied earlier. This command will download the repository to your local machine.
+
+ :::tip Note:
+ Replace `chh-user` with the **username** of the repository owner and `hello-world` with the name of the repository you want to clone.
+ :::
+
+ ```bash title="Terminal"
+ git clone https://github.com/chh-user/hello-world.git
+ ```
+
+ 
+
+
+8. After cloning the repository, you can navigate to the project directory using the `cd` command.
+
+ ```bash title="Terminal"
+ cd hello-world
+ ```
+
+9. You have successfully cloned the repository to your local machine. You can now work on the project, make changes to the code, and push your changes back to GitHub.
+
+ ```pwsh
+ # Make changes to the code
+ # Add new features
+ # Fix bugs
+ # Push changes back to GitHub
+ ```
+
+Congratulations! You have successfully cloned a repository from GitHub to your local machine. You can now start working on the project, collaborate with others, and contribute to the codebase. Happy coding! 🚀
\ No newline at end of file
diff --git a/courses/github/create-a-branch.md b/courses/github/create-a-branch.md
index e69de29bb..e9e88904e 100644
--- a/courses/github/create-a-branch.md
+++ b/courses/github/create-a-branch.md
@@ -0,0 +1,70 @@
+---
+id: create-a-branch
+title: Create a Branch
+sidebar_label: Create a Branch
+sidebar_position: 5
+description: Learn how to create a new branch in a Git repository. Create a branch to work on new features, bug fixes, or experiments without affecting the main codebase.
+tags: [github, git, version control, collaboration, beginners]
+keywords: [github, git, version control, collaboration, beginners, open source, branch, create, new, feature, bug fix]
+---
+
+**To work on new features, bug fixes, or experiments in a Git repository, you need to create a new branch. Branches allow you to work on different parts of the codebase without affecting the main branch.**
+
+:::caution Prerequisites
+- Make sure you have installed Git on your local machine and configured it with your GitHub account before creating a new branch. If you haven't done this yet, follow the **[official Git installation guide](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)**.
+- Always create a new branch for each new feature, bug fix, or experiment to keep your codebase clean and organized.
+- Make sure you have downloaded the VS Code editor from the official website before following this tutorial. If you haven't done this yet, you can download it from **[https://code.visualstudio.com/](https://code.visualstudio.com/)**.
+- VS Code is a popular code editor that provides built-in Git support, making it easy to work with Git repositories directly from the editor.
+:::
+
+To create a new branch in a Git repository, follow these steps:
+
+1. Open VS Code and open the project you want to create a branch in.
+
+2. Open the terminal in vs code.
+
+3. Run the following command to create a new branch. Replace `branch-name` with the name of your new branch.
+
+ ```bash title="Terminal"
+ git checkout -b branch-name
+ ```
+
+ :::tip Note:
+ The `-b` flag is used to create a new branch. If you want to switch to an existing branch, you can omit the `-b` flag.
+ :::
+
+4. Your new branch is now created. You can start working on new features, bug fixes, or experiments in this branch without affecting the main codebase.
+
+5. To switch between branches, use the `git checkout` command followed by the branch name.
+
+ ```bash title="Terminal"
+ git checkout main
+ ```
+
+ This command will switch to the `main` branch. Replace `main` with the name of the branch you want to switch to.
+
+6. To list all branches in the repository, use the `git branch` command.
+
+ ```bash title="Terminal"
+ git branch
+ ```
+
+ This command will list all branches in the repository and highlight the current branch with an asterisk (`*`).
+
+7. To delete a branch, use the `git branch -d` command followed by the branch name.
+
+ ```bash title="Terminal"
+ git branch -d branch-name
+ ```
+
+ This command will delete the specified branch. Be careful when deleting branches, as this action cannot be undone.
+
+8. To push a new branch to GitHub, use the `git push` command followed by the branch name.
+
+ ```bash title="Terminal"
+ git push origin branch-name
+ ```
+
+ This command will push the new branch to GitHub, allowing you to collaborate with others and share your work.
+
+Congratulations! You have successfully created a new branch in your Git repository. You can now work on new features, bug fixes, or experiments in this branch without affecting the main codebase.
\ No newline at end of file
diff --git a/courses/github/create-a-github-account.md b/courses/github/create-a-github-account.md
index 3ff7135c8..3ad2dd84f 100644
--- a/courses/github/create-a-github-account.md
+++ b/courses/github/create-a-github-account.md
@@ -10,13 +10,11 @@ keywords: [github, git, version control, collaboration, beginners, open source,
**To get started with GitHub, you need to create a GitHub account. If you already have a GitHub account, you can skip this step.**
-## Create a GitHub account
-
To get started with GitHub, you need to create a GitHub account. If you already have a GitHub account, you can skip this step.
1. Go to [GitHub](https://github.com/) and click on the "Sign up" button.
-
+

diff --git a/courses/github/img-12.png b/courses/github/img-12.png
new file mode 100644
index 000000000..226a7c788
Binary files /dev/null and b/courses/github/img-12.png differ
diff --git a/courses/github/img-13.png b/courses/github/img-13.png
new file mode 100644
index 000000000..374a6b021
Binary files /dev/null and b/courses/github/img-13.png differ
diff --git a/courses/github/img-14.png b/courses/github/img-14.png
new file mode 100644
index 000000000..175a91172
Binary files /dev/null and b/courses/github/img-14.png differ
diff --git a/courses/github/img-15.png b/courses/github/img-15.png
new file mode 100644
index 000000000..9a91e9958
Binary files /dev/null and b/courses/github/img-15.png differ
diff --git a/courses/github/img-16.png b/courses/github/img-16.png
new file mode 100644
index 000000000..02be418f1
Binary files /dev/null and b/courses/github/img-16.png differ
diff --git a/courses/github/img-17.png b/courses/github/img-17.png
new file mode 100644
index 000000000..3ee42914c
Binary files /dev/null and b/courses/github/img-17.png differ