A simple tool to recover Git repositories from exposed .git folders on remote servers.
-
Download the script:
curl -O https://raw.githubusercontent.com/denny0223/scrabble/refs/heads/master/scrabble
-
Make it executable:
chmod +x scrabble
-
Run the script:
./scrabble <url> [directory]
scrabble <url> [directory]
<url>: The full URL to the repository's.gitdirectory (e.g.,http://example.com/my-project.git/).[directory](Optional): The local directory to clone the repository into.- If not provided, the script defaults to a directory name derived from the URL (e.g.,
my-projectfromhttp://example.com/my-project.git/).
- If not provided, the script defaults to a directory name derived from the URL (e.g.,
- You need to make sure the target URL has an exposed
.gitfolder. - The script will not overwrite an existing directory. If the target directory already exists, the script will exit with an error to prevent accidental data loss. Please remove the existing directory or choose a different name.
- This tool is designed to clone a repository into a new, empty directory. Do not run it inside an existing Git repository, as it will overwrite its contents.
# Clone to a directory named 'my-project'
scrabble http://example.com/my-project.git/
# Clone to a specific directory named 'my-local-repo'
scrabble http://example.com/my-project.git/ my-local-repo