Class 29 of 50 • GitHub Platform

GitHub Repositories: Public vs Private, Templates, Topics, Stars & Settings

A GitHub Repository (Repo) is the fundamental container for your project. It contains all project files, full Git revision history, issue trackers, pull requests, automated workflows, and documentation. Let's master the options available when creating and configuring repositories.

Step 1: Creating a Repository on GitHub

Click the + icon in the top-right corner of GitHub → New repository:

1. Repository Name & Description

Choose a concise, URL-friendly kebab-case name (e.g. veewom-ecommerce-api). Add a one-sentence description summarizing what the project does.

2. Public vs Private Visibility

  • Public: Anyone on the internet can see your code, clone it, star it, and submit pull requests. Essential for open-source libraries, student portfolios, and community showcases.
  • Private: Accessible only to you and team collaborators you explicitly invite. Ideal for proprietary commercial code, university homework assignments, and stealth startups.

3. Initialization Options

  • Add a README file: Creates a starter README.md markdown document describing the project.
  • Add .gitignore: Lets you select an industry-tested ignore template (e.g., Node, Python, Java, Unity).
  • Choose a license: Essential for public repositories to specify how others can legally use, modify, and distribute your code.

Choosing the Right Open-Source License

License Name Permissions & Philosophy Best For
MIT License Extremely permissive. Anyone can use, modify, distribute, and sell your code commercially with zero restrictions other than preserving your copyright notice. Modern open-source libraries, React components, npm packages (Most popular).
Apache 2.0 Similar to MIT, but includes explicit grants of patent rights and protects against trademark infringement. Enterprise open-source frameworks (Kubernetes, Android, TensorFlow).
GNU GPL v3 Copyleft license. Anyone who modifies and distributes your code must also make their modified source code 100% open-source under GPL v3. Linux kernel, Git, projects demanding that derivatives remain free software.

Advanced Repository Settings & Customization

  • Topics & Tags: Add searchable keyword tags (e.g., javascript, react, bca-project) under the "About" gear icon to increase Google and GitHub search discoverability.
  • Repository Templates: Check "Template repository" in Settings to let other developers generate new repositories using your folder structure and boilerplates with one click.
  • Transferring Repositories: Easily transfer ownership of a repository to a colleague or organization under Settings → Danger Zone.

Explore Related Git & GitHub Tutorials & Next Steps

Strengthen your version control mastery by studying these connected classes:

Creating Pull Requests

Propose changes to repositories with pull requests and request team reviews.

Forking Open-Source Repos

Create personal copies of public repositories to contribute upstream.

Configuring Branch Protection

Lock down your main branch with required reviews and passing status checks.

Repository Documentation & README

Add professional README, LICENSE, and CONTRIBUTING guides to your repo.

Frequently Asked Questions (FAQ) - Student & Interview Review

By default, without an open-source license, standard copyright laws apply. You retain all rights to your source code, and nobody else has legal permission to copy, distribute, or modify your code for any purpose.
Yes. Navigate to Settings → Danger Zone → 'Change repository visibility'. However, keep in mind that public forks created by other users will remain public.
Stars act like bookmarks and social upvotes. Starred repositories appear in your personal stars list and indicate community popularity and project quality.

Next Step in Your Git & GitHub Learning Path:

Advance your software engineering skills with the next topic in our synchronized curriculum.

Continue to Pull Requests (PR) → Previous: ← GitHub Tour & Ecosystem | Full Syllabus

Share Share on Facebook Share on Twitter Share on LinkedIn Pin on Pinterest Share on Reddit

You may also like this!