web-dev-qa-db-ja.com

ローカル/ステージング/本番サーバースタック+ Gitの最適なワークフロー

次のことができるWeb開発ワークフローを組み込むことを検討しています。

  • ローカルで開発/テスト
    • 本番サーバーを模倣します(多くのサブドメイン、いくつかのmysql DB)
    • デスクトップとラップトップの間で同期を維持し、外出先での開発を可能にします
  • 簡単にローカルをプッシュ->ステージング
  • 簡単にステージングをプッシュ->本番
  • 本番サーバーで簡単にライブ編集できます(非常にマイナーなコンテンツの更新やタイプミスの変更などが必要になる場合があります。現在、小さな編集を行い、ステージングにプッシュしてから、本番環境にプッシュするのに多くの時間を費やしています。 。)

私もGitを初めて使用します。私は個人的なプロジェクトでGitを使用して水域のテストを開始しましたが、継承したプロジェクト(本番環境/ステージング環境)では、これまでバージョン管理を使用していません。

質問:

  • 大規模な確立されたプロジェクトをローカル環境(XAMPP)に簡単に適応させるにはどうすればよいですか?
  • ローカル環境をdev-laptopとdev-desktopの間で同期するにはどうすればよいですか?
  • このタイプの事前に確立されたプロジェクト/サーバーのセットアップでは、Githubはそれだけの価値がありますか?より多くのステップが追加されているようです(例:ローカル-> gitリポジトリにプッシュ->ステージングサーバーにリポジトリをダウンロード->ステージングサーバーをライブサーバーにプッシュ)。また、プライバシー/セキュリティの維持についても懸念しています。

基本的に、私はかなり大規模なプロジェクトを手渡された単一の開発者であり、自分自身で物事をできるだけ簡単/簡単にできるようにしたいと思っています。 :)

18
Prefix

ブランチは、このワークフローを容易にする1つの方法です。典型的な開発ワークフローを管理するためにGitブランチを使用する方法について すばらしいブログ投稿 があります。

次に、本番用に1つのブランチ(例:master)、上記の投稿のhotfixブランチに対応するライブ編集用に1つ、開発用にもう1つがあります。

ラップトップとデスクトップのローカル環境を同期するには、前述のdevelopmentブランチをリモートブランチとしても使用し、両方のデバイスにこのブランチのローカルコミットをリモートリポジトリにプッシュさせることができます。

13