2

私は git の世界に非常に慣れていない (過去にいくつかの svn を行った) ため、次のことを達成するためのアドバイスが必要です。

私の現在のワークフローは、Wordpress テンプレートに移植する前に、Middleman を使用して静的 HTML ファイルをセットアップし、基本 HTML 構造とスタイルを取得することです。これらの静的ファイルは にありますC:/git/project-name/HTMLTemplates

私のワードプレスのセットアップはXamppを使用しているため、テーマファイルはC:/Xampp/wordpress/wp-content/themes/project-theme.

私がやりたいのは、2 つの異なる場所 (HTMLTemplates と project-theme) の変更を追跡する単一の git リポジトリを持つことです。

これは本当に可能ですか、それとも 2 つの個別のリポジトリ (例: proect-static と project-wordpress) を作成するだけですか?

4

1 に答える 1

2

いいえ、git にはこのためのメカニズムはありません。Git は、管理するすべてのファイル (「作業コピー」) が単一のディレクトリ (およびサブディレクトリ) にあると想定しています。リポジトリ内で 2 つの別個のディレクトリを管理することはサポートされていません。

したがって、おそらくサブディレクトリHTMLTemplatesなどとして、すべてを1つのディレクトリに保持する必要がありますtheme

2 つの git リポジトリを使用することもできますが、これには強くお勧めしません。1 つのレポには「プロジェクト」全体、つまり 1 つのソフトウェアをビルドするために必要なすべて (外部ライブラリなどを除く) が含まれている必要があります。プロジェクトを 2 つのリポジトリに分割すると、便利なブランチとマージができなくなり (両方のリポジトリで同時に実行する必要があるため)、古いバージョンなどを簡単にチェックアウトできなくなります。

あなたの問題を解決するために、いくつかの解決策が考えられます。

  • すべてを適切な場所にコピーするビルド/展開スクリプトを用意します。おそらく、Middleman を呼び出し、Wordpress にキャッシュを更新するように指示するスクリプトがすでにあるので、そこに追加することができます。
  • wordpress ディレクトリへのシンボリック リンクを設定します。UNIX ライクなシステムでは、これは簡単で一般的に行われます。Windowsでは、 「ジャンクションポイント」を作成できますが、これは同様に機能すると思います。
  • git 作業コピーからディレクトリを直接読み取るように、Wordpress / Apache を構成します。パスは構成可能である必要があります。

私は最初の解決策を好むでしょう。これには、開発環境をサーバー構成から切り離すという追加の利点があります。これにより、後でセットアップを変更したり、プロジェクトを別の環境で実行する必要がある場合 (別のマシンでの開発、他の誰かがあなたのプロジェクトで作業したい、どこかのホストされたサーバーにデプロイしたいなど) が容易になります。

注:問題は、デプロイ ツールとして git を使用しようとしていることにあると思います。多くの人がこれを行っていますが、git はこの目的にはあまり適していません。通常、展開は別の手順で行う必要があります。

于 2013-07-13T20:10:07.307 に答える