Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Git basics
  6. Repositories
  7. Creating repositories
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Creating repositories

There are two ways to create a local repository on your machine: you can create a new repository from scratch using a file folder on your computer or clone an existing repository. Choosing between creating a new Git repository or copying an existing one depends on your project requirements and collaboration needs. New repositories offer a fresh start, while cloned repositories provide a rich history and collaborative framework.

New repositories

A new Git repository is initialized from scratch and contains no previous history or data. It is set up for a new project or a new instance of version control for an existing set of files.

You can create a new repo from scratch using the git init command. It can introduce Git into an existing, unversioned project so that you can start tracking changes.

Key differences:

  • Starts with an empty history and no commits.
  • Requires initializing the repository and, optionally, connecting to a remote repository.
  • Best for starting new projects or migrating existing projects into version control for the first time.

Benefits:

  • Full control over the initial setup and structure.
  • No legacy issues or irrelevant history from other projects.
  • A clear indication of project ownership and origin.

Drawbacks:

  • Requires setup and configuration.
  • Lacks the benefits of existing commit history, which can be valuable for understanding past changes and decisions.

Copied repositories

Cloning a Git repository creates a copy of an existing repository, including its entire commit history, branches, and files. This process is typically used to collaborate on existing projects.

You can copy a remote repository onto your local machine using the git clone command. By default, git clone will automatically set up a local main branch that tracks the remote main branch it was cloned from.

A cloned repository has the same history log as the original one. You can refer and backtrack to any commits within your local repository.

Key differences:

  • Starts with a complete history and all branches from the original repository.
  • Involves cloning the repository, which is straightforward and quick.
  • Ideal for joining ongoing projects, collaborating with teams, and leveraging existing project history.

Benefits:

  • Access to the entire commit history, which provides context and insights into past changes.
  • Facilitates teamwork by synchronizing with a common codebase.
  • Benefits from existing workflows, branch structures, and configurations.

Drawbacks:

  • May inherit complex or cluttered commit histories.
  • Tied to the state and availability of the remote repository.
  • Risk of merge conflicts when multiple collaborators work simultaneously.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life