I'm trying to test something on a wordpress install. In doing so, I'd like to quickly replicate the repo. However, the upload directory (wp-content/uploads
) is massive, so I'd like to ignore it.
Note: I don't want to .gitignore this directory all the time, just for this scenario.
Basically, I'd like a command like this pseudo code: git clone --ignore wp-content/uploads
.
Is the best way to add that directory to .gitignore, clone, and then revert .gitignore? Or is there a better method?
The . gitignore file allows you to exclude files from being checked into the repository. The file contains globbing patterns that describe which files and directories should be ignored.
If you want to maintain a folder and not the files inside it, just put a ". gitignore" file in the folder with "*" as the content. This file will make Git ignore all content from the repository.
If you want to clone the git repository into the current directory, you can do like: $ git clone <repository> . Here, the dot (.) represents the current directory.
A bit late to the party, but: Don't you want a sparse checkout?
mkdir <repo> && cd <repo> git init git remote add –f <name> <url>
Enable sparse-checkout:
git config core.sparsecheckout true
Configure sparse-checkout by listing your desired sub-trees in .git/info/sparse-checkout:
echo some/dir/ >> .git/info/sparse-checkout echo another/sub/tree >> .git/info/sparse-checkout
Checkout from the remote:
git pull <remote> <branch>
See http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/ for more info.
git clone
will always clone the complete repository*, including all previous commits ever added to the repository. So even if you remove the files temporarily, and clone it then, you will still receive the older versions which do contain those files.
Also, just editing the .gitignore
will not remove tracked files from the repository even if they would normally be ignored.
So no, it is not really possible to skip a certain folder during cloning.
*It is possible to limit the amount of commits retrieved during a clone, but this will not make the repository very usable.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With