2011-07-18 11 views
3

gitコマンドでgitリポジトリから "クローン"を作成できますが、指定したブランチの作業ディレクトリのみが.gitフォルダなしでクローン作成されますすべてのログとバージョン履歴がありますか?ブランチの作業ディレクトリのみを.gitフォルダなしでgitリポジトリからクローンする方法

単一の.gitリポジトリで複数の作業ディレクトリを使用する理由はほとんどありません。理由1:gitにブランチがほとんどないので、git checkoutを使わずにブランチ内のファイルを上書きすることができます。理由2:私は特定の支店のソフトウェアリリースをしたいが、私が働いている支店を妨害したくない。 OPの最新のコメントを1として

+1

達成しようとしていることは何ですか? – manojlds

+0

'svn export'の振る舞いを再現しようとしていますか?その場合は、こちらをご覧ください:http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export –

+1

http://stackoverflow.com/questions/2866358/git- checkout-only-files-without-repositoryはあなたを助けるかもしれません。 – vinod

答えて

4

あなたが別のクローンを作る(あるいは単に既存のレポをコピー)し、その中に別のブランチをチェックアウトしていないのはなぜ?

のGit-アーカイブはあなたを助けることができる:

サンプルドキュメントから:

git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -) 

あなたはまた、リモートアーカイブからそれを得るために--remoteフラグを使用することができます。

Linuxの

http://www.kernel.org/pub/software/scm/git/docs/git-archive.html

2

(あまりにまたはWindows、あなたはa commandline tar clientをインストールする場合):基本的に

git archive <commitish> | tar -x -C /path/to/folder 

が、これは改正<commitish>で、その後、ソースツリーのアーカイブ(tarボール)を構築するためにgitを伝えますそれをtarにパイプして、それをフォルダに展開します。

残念ながら、gitは現在、これを直接サポートしていません。

+0

なぜdownvoteですか? –

+0

私はなぜこの質問がdownvote理解していません。おそらく誰かが私の質問を全く嫌うかもしれません。 –

+0

Matthew:git archiveが役立つかもしれませんが、ソースを抽出するために余分なuntar操作が必要です。これは、Windowsでgitを使用すると不便です。 –

関連する問題