Hands-on Practice

Task: Upload Solo Project 1 to GitHub

Method 1: Initializing with a README.md (Recommended for New Projects)

This approach is best when starting a new project on GitHub. A README file provides a description of your project.

Steps:

  1. Create a Repository on GitHub:

    • Go to GitHub.com and log in.

    • Click the "+" button in the top right and select "New repository."

    • Give your repository a name (e.g., "my-project").

    • Optionally, add a description.

    • Crucially: Check the box that says "Add a README file." This initializes the repository with a README.md file.

    • Choose whether you want the repository to be public or private.

    • Click "Create repository."

  2. Clone the Repository to Your Local Machine:

    • On your repository's page on GitHub, click the "Code" button and copy the repository's URL (it will look like https://github.com/your-username/my-project.git or [email protected]:your-username/my-project.git).

    • Open a terminal or Git Bash on your local machine.

    • Navigate to the directory where you want to store your project (e.g., cd Your-Working-Directory/projects).

    • Use the git clone command

      git clone <repository_url>

      (Replace <repository_url> with the URL you copied). This creates a local copy of your empty repository.

  3. Copy Your Files and Folders:

    • Copy the files and folders you want to upload into the newly created local repository directory (e.g., my-project).

  4. Stage the Changes:

    • In your terminal, navigate to the local repository directory (e.g., cd my-project).

    • Use the git add command to stage the changes. You can add individual files:

      git add file1.txt
      git add folder1/file2.txt
    • Or, to add all changes (including new files and folders), use:

      git add .
  5. Commit the Changes:

    • Use the git commit command to create a commit. A commit is like a snapshot of your changes. Always include a descriptive message:

      git commit -m "Initial commit: Added project files"
  6. Push the Changes to GitHub:

    • Use the git push command to upload your local commits to the remote GitHub repository:

      git push origin main  # or git push origin master, depending on your default branch name

      (You might be prompted for your GitHub credentials.)

Method 2: Initializing Without a README.md (For Existing Local Projects)

This method is for when you already have a project on your computer that you want to put on GitHub.

Steps:

  1. Create a Repository on GitHub (Without README):

    • Follow the same steps as in Method 1, but do not check the "Add a README file" box. Click "Create repository."

  2. Initialize a Git Repository Locally:

    • In your terminal, navigate to your project's root directory.

    • Use the git init command to initialize a new Git repository in your project:Bash

      git init
  3. Add Your Files and Folders:

    • Same as Step 3 in Method 1: Copy your files and folders into your project directory.

  4. Stage the Changes:

    • Same as Step 4 in Method 1: Use git add . (or add files individually).

  5. Commit the Changes:

    • Same as Step 5 in Method 1: Use git commit -m "Initial commit" (or a more descriptive message).

  6. Add the Remote Repository:

    • On your GitHub repository page, copy the repository URL.

    • In your terminal, use the git remote add command to link your local repository to the remote one:

      git remote add origin <repository_url>

      (Replace <repository_url> with the URL you copied.)

  7. Push the Changes to GitHub:

    • Same as Step 6 in Method 1: Use git push origin main (or git push origin master). You might need to use the -u flag for the first push to set the upstream branch:

      git push -u origin main

Key Explanations:

  • git clone: Copies a repository from GitHub to your local machine.

  • git init: Initializes a new Git repository in a local directory.

  • git add: Stages changes for the next commit. The . adds all changes in the current directory and its subdirectories.

  • git commit: Creates a snapshot of the staged changes with a descriptive message.

  • git push: Uploads local commits to the remote GitHub repository.

  • origin: A common name for the remote repository you cloned from or added.

  • main or master: The default branch name on GitHub.

Remember to replace placeholders like <repository_url> and commit messages with your actual values. If you encounter errors, carefully read the error messages in your terminal, as they often provide clues for troubleshooting.

Last updated