GIT のドキュメントを読みましたが、最新バージョンのコードを別のディレクトリに単純にコピーする (またはデプロイする) 方法がわかりませんでした。もちろんcopy -r code /path/to/another/dir
、単に . そして、私はそれを必要としません。隠しファイル (または元のファイルのコピー) をすべて使わずに生のファイルをコピーする簡単な方法はありますか?
2 に答える
オプション 1: .git サブディレクトリを除外する
Git リポジトリの標準設定があると仮定すると、プロジェクトのルートにあるすべてのものをコピーするだけで、.git
サブディレクトリは除外できます。
どうやら、次を使用してbash端末でrsync
これを行うことができます:
rsync -av --exclude='.git' source destination
しかし、 Windows でどうやってそれを行うことができるかわかりませんcopy
。
オプション 2: git アーカイブのエクスポート
別のオプションは、次を使用することgit archive
です。
git archive --format zip --output "output.zip" master -0
圧縮されていないアーカイブを提供します(-0
は圧縮されていないことを示すフラグです)。これに関する問題は、アーカイブからファイルを抽出する必要があることです。
bash シェルや Cygwin などで Unix ツールにアクセスできる場合は、これらの Unix ツールをjanos's answerで使用することもできます。「git エクスポート」の実行方法 (「svn エクスポート」など)も参照してください。
# オプション 3: git ls-files を使用する
引数を間違った順序 (ソースではなく宛先ディレクトリとしてファイル) に渡しているため、編集で実際にこれに問題があるためcp
、今のところスクラッチします。
もう 1 つのオプションは、Git が作業コピーで追跡しているすべてのファイルのリストを取得し、それらを引数として copy コマンドに渡すことです。Unix の例を次に示しcp
ます。
git ls-files | xargs cp <destination-root>