Web サイトでコンパイルが不要な場合は、Git リポジトリから直接デプロイすることを選択できます。
- 通常どおり、ローカル ボックスで開発を行います。
- コードを Github や同様のサイトに頻繁にチェックインする
- サイトをコンパイルする必要がないため、Git コピーはほぼ準備完了です
- .git ディレクトリを APACHE サービスから除外するか、
"git clone" の後に削除します。
データベースは別の問題です。あなたはおそらく:
- UI で変更するのではなく、データベースに変更を加えるスクリプトを作成します。
- 現在のスキーマを識別するバージョン スタンプをどこかに (おそらくデータベース内に) 含めます。
- スクリプトにデータベースのバージョン番号を付けます (互換性のために必要な関連するコード リビジョンのインジケーターも保持します - Git 変更セット ID で自動的にスタンプします)
- 順番に、現在のデータベース リビジョンよりも大きいすべてのスクリプトを実行します (ただし、現在のソフトウェア リビジョンよりも大きくはありません。このプロセスもスクリプト化しました)。
本番環境で行っているかのように、これらすべてを開発マシンで少しずつ行います。いざというときに、まだテストが必要な場合があります。
- リビジョンにわかりやすいブランチ名 (Release23a など、選択した名前) を付けて、後で見つけられるようにします。
- 実稼働データベースをテスト環境に複製します (途中でアップグレードをブロックする可能性のあるライブ データの問題は苦痛です)。
- パッケージ全体をテスト環境にデプロイし、MySQL スクリプトを実行して Git エクスポートを実行します (新しいブランチ名を使用)
その後、通常どおり作業を続け、Git にチェックインします。多くの場合、見苦しいコードを実装している途中で、ライブ サイトへの迅速なパッチが必要になります。しかし、実際のサイトにコードをハッキングするだけではだめです。その代わり:
- あなたのRelease23aをチェックしてください
- ホットフィックスを作成する
- 通常どおりチェックインします (Release23a ブランチに保存されます)。
- もう一度タグを付けて、Release23b
- 以前と同様にデプロイ (Release23b)
- Release23b をメインのコードラインにマージして戻します
分岐についての簡単なメモ。いつでも戻って、日付/時刻でチェックインしたバージョンを取得できますが、名前で見つける方が簡単です。さらに、ブランチを作成すると、そのブランチで作業を行ってから、再度チェックインすることができます。これで、コードラインに分岐ができました。昨日の暑さに変更を加えていますが、それが今日の暑さに自動的に適用されるわけではありません。それが必要な場合は、手動でマージする必要があります。マージとは、「Git クライアント、Release23a/Release23bデルタからのすべてのコード編集を私の最新のホットネスに自動的に適用するようにしてください」と言うプロセスです。
ご覧のとおり、Git で使用できる非常に優れたツールがいくつかあります。ローカル コードを削除することは問題ではありません。これは、問題がなく、頻繁にチェックインしている場合に限ります。
Git にはローカル コミットの概念があることに注意してください。これらは、同期するまで、ハード ドライブのクラッシュから作業を保存しません。