git-force-clone1
Overwrite local repositories with clone
Usage
force-clone --help
force-clone remote_url
destination_path
force-clone --branch
branch_name
remote_url
destination_path
Overview
Provides the basic functionality of git clone, but if the destination git repository already exists it will force-reset it to resemble a clone of the remote.
Because it doesn't actually delete the directory, it is usually significantly faster than the alternative of deleting the directory and cloning the repository from scratch.
CAUTION: If the repository exists, this will destroy all local work: changed files will be reset, local branches and other remotes will be removed.
Process
If target-directory doesn't exist or isn't a git repository then the arguments will simply be passed through to git clone.
If target-directory exists and is a git repository then this will:
- •
-
Remove all remotes
- •
-
Set the origin remote to
{remote_url}and fetch the remote
- •
-
Discover the default branch, if no branch was specified
- •
-
Check out the selected branch
- •
-
Delete all other local branches
Options
{remote_url} - The URL for a git remote repository of which to make a clone. {destination_path} - A path to the local git repository location to clone into. --branch {branch_name} - After cloning, checkout this branch.
Examples
git-force-clone -b master [email protected]:me/repo.git ./repo_dir
Releases
4 releases since Debian 10 (Buster); the text changed 3 times.