web-dev-qa-db-ja.com

.gitディレクトリなしのGitクローン

可能性のある複製:
「git export」の実行方法(「svn export」など)

クローンを作成するときにgitに渡すフラグはありますか。たとえば、.gitディレクトリをクローンしないでください。そうでない場合、クローン後に.gitディレクトリを削除するフラグはどうですか?

131
Justin

つかいます

git clone --depth=1 --branch=master git://someserver/somerepo dirformynewrepo
rm -rf ./dirformynewrepo/.git
  • 深度オプションは、そのレポを取得するために可能な限り最小の履歴をコピーするようにします。
  • 分岐オプションはオプションであり、指定しないとマスターになります。
  • 2行目では、ディレクトリがdirformynewrepoになり、Gitリポジトリではなくなります。
  • 再帰的なサブモジュールのクローンを作成している場合、深度とブランチのパラメーターはサブモジュールには適用されません。
198
Adam Dymitruk

ファイルが必要なだけなので、gitリポジトリとして扱う必要はありません。

rsync -rlp --exclude '.git' user@Host:path/to/git/repo/ .

これはローカルパスとリモートssh/rsyncパスでのみ機能します。リモートサーバーがgit://またはhttps://アクセスのみを提供している場合は機能しない可能性があります。

26
Huang Tao

いつでもできる

git clone git://repo.org/fossproject.git && rm -rf fossproject/.git
0
user529758