ウェブコンテンツを管理する1つの方法は、プロダクションボックスに「裸の」リポジトリを作成することです。これは作業コピーを持たないリポジトリです。新しいコードをデプロイする場合は、このリポジトリにプッシュして更新します。次に、生産ボックスにログインして、を裸のレポジトリから実際のデプロイメントディレクトリ(Gitリポジトリでもある)にプルします。
生産ボックスのこれらのリポジトリのどちらも「マスター」リポジトリとみなす必要がないことに注意してください。ソースコードを他の場所に置いて、必要に応じてプロダクションにプッシュするだけです。
2つのリポジトリが必要な理由は、Gitは作業コピーを持つリポジトリに直接プッシュすることをサポートしていないからです。 Gitはこれまで歴史的にこれを行うことができましたが(意図しない結果がしばしばあります)、新しいバージョンではこのようなことを避けることを強く推奨しています。
私は上記の手法を使っていくつかのWebサイトを管理していますが、実際にはうまく機能します。一つの利点は、私が本当に必要な場合は、プロダクションマシンに何かをパッチして、そこにコミットし、その後、その変更を自分の開発リポジトリにプルできることです。この方法で行われた変更は、誤って失われる可能性は非常に低くなります。
GitはVCSではなくDVCSです。これはVCSとの基本的な違いの1つです。 –
Gitエクスポートのための複製:http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export –