问题
Possible Duplicate:
How to do a “git export” (like “svn export”)
Is there a flag to pass to git
when doing a clone, say don't clone the .git
directory? If not, how about a flag to delete the .git
directory after the clone?
回答1:
Use
git clone --depth=1 --branch=master git://someserver/somerepo dirformynewrepo
rm -rf ./dirformynewrepo/.git
- The depth option will make sure to copy the least bit of history possible to get that repo.
- The branch option is optional and if not specified would get master.
- The second line will make your directory
dirformynewrepo
not a Git repository any more. - If you're doing recursive submodule clone, the depth and branch parameter don't apply to the submodules.
回答2:
since you only want the files, you don't need to treat it as a git repo.
rsync -rlp --exclude '.git' user@host:path/to/git/repo/ .
and this only works with local path and remote ssh/rsync path, it may not work if the remote server only provides git:// or https:// access.
回答3:
You can always do
git clone git://repo.org/fossproject.git && rm -rf fossproject/.git
来源:https://stackoverflow.com/questions/11497457/git-clone-without-git-directory