7. Git Tools
10. Git Internals
A3.2 Appendix C: Git Commands - Getting and Creating Projects
Getting and Creating Projects
There are two ways to get a Git repository. One is to copy it from an existing repository on the network or elsewhere and the other is to create a new one in an existing directory.
To take a directory and turn it into a new Git repository so you can start version controlling it, you can simply run
We first introduce this in Getting a Git Repository, where we show creating a brand new repository to start working with.
We talk briefly about how you can change the default branch from “master” in Remote Branches.
We use this command to create an empty bare repository for a server in Putting the Bare Repository on a Server.
Finally, we go through some of the details of what it actually does behind the scenes in Plumbing and Porcelain.
git clone command is actually something of a wrapper around several other commands.
It creates a new directory, goes into it and runs
git init to make it an empty Git repository, adds a remote (
git remote add) to the URL that you pass it (by default named
origin), runs a
git fetch from that remote repository and then checks out the latest commit into your working directory with
git clone command is used in dozens of places throughout the book, but we’ll just list a few interesting places.
It’s basically introduced and explained in Cloning an Existing Repository, where we go through a few examples.
In Getting Git on a Server we look at using the
--bare option to create a copy of a Git repository with no working directory.
In Bundling we use it to unbundle a bundled Git repository.
Finally, in Cloning a Project with Submodules we learn the
--recursive option to make cloning a repository with submodules a little simpler.
Though it’s used in many other places through the book, these are the ones that are somewhat unique or where it is used in ways that are a little different.