0

私はちょうど大学を卒業し、3人の開発チームで作業を始めました。コードベースは現在、バージョン管理システムの下にありません。当社のコードベースは従来のASPにあり、Adobe Contributeはコンテンツ制作者が独自のコンテンツを更新できるように統合されています。現在、Webサーバーのドライブをワークステーションにマッピングすることで、本番Webサイト上で直接開発しています。私は、バージョン管理のいくつかのフォームをワークフローに統合し、現地の開発に賛成して本番Webサーバーで開発するプラクティスを廃止することを強く信じています。バージョン管理ワークフローの推奨

私は、次のようなものを作業ワークフローを想像:

  1. 日常的にWebサーバから変更を取得し、ローカルファイルに
  2. を更新するための個人的なバージョン管理システム(Githubのにフェッチされた変更をコミット例)またはブランチは
  3. ローカルコピーにいくつかの変更を行います
  4. 個人のバージョン管理システムに私が行った変更をコミットします(GitHubの例)、またはブランチ
  5. PファイルをWebサーバーに変更して競合を処理しました。

私の考えは間違っているかもしれませんが、私はより多くの経験を持つ方々から推薦を探しています。

+0

「私は強く私達が私達のワークフローにバージョン管理のいくつかのフォームを統合し、地域の発展に有利な生産のWebサーバー上で開発の練習を中止すべきであると信じています。」あなたはこれを信じるのは正しいですが、この質問は主に意見に基づくものであり、したがっておそらく閉鎖されるでしょう。 [ヘルプ/トピック]のStack Overflowに関するトピックを読んでください。 – Chris

+1

これはオフトピックですが、私はあなたにいくつかのフィードバックを与えます。 「毎日Webサーバーから変更を取得し、ローカルファイルを更新する」と言う。あなたはどんな変化を期待していますか?あなたはWebコンテンツのバージョンを計画しているようです。これは一般的には良いアイデアではありません(少なくとも、コードと同じようにバージョン管理するべきではありません)。 Gitやその他のバージョン管理システムでコードをバージョンアップしますが、コンテンツ(特にユーザ生成コンテンツ)は含めません。 – Chris

答えて

1

既にWebサーバーがあるので、にsetup git server(remote repo)を実行できます。これにより、リモート・リポジトリーにサーバー側のフックを使用するのが容易になります。

バージョンのワークフローは、以下のようにライブのWebサイトをcoontrol:リモートレポを開発するのローカルコピーに

作業 - >変更を加える - >コミット - >開発リモートリポジトリにプッシュ - >あなたの場合Webサイトへの変更を展開する準備ができました - >プロダクションリモートリポジトリへの変更をプッシュします。

前提条件:自分のサーバーに2つのリモートリポジトリ。リモートレポdevleop

セットアップ:

# go to a directory, create an empty folder 
mkdir develop 
cd develop 
git init --bare 
# assume the URL for the develop repo is www.site/develop 

セットアップ本番サーバー:ローカルマシンで

# go to a directory, create an empty folder 
mkdir production 
cd production 
git init --bare 
# assume the URL for the develop repo is www.site/production 

、開発レポのクローンを作成し、バージョンコントロールにしたいファイルを追加git:

git clone www.site/develop 
cd develop 
# add all the files for the website which you want to manage in git 
git add . 
git commit -m 'message' 
git push origin master 

本番リモートレポにファイルをプッシュするためにすでにある場合は、コマンドの下に使用することができます。

git remote add prodcuton www.site/production -f 
git push production master 

変更はすぐに変更がレポを開発するためにプッシュされた後、それぞれの時間を生産リモートレポをプッシュする必要がある場合は、開発レポ受信後フックを使用することができます。gitの/フックフォルダ:

#!/bin/bash 
git --work-tree=/path/to/develop --git-dir=/path/to/production checkout -f 

あなたはまたSimple automated GIT Deployment using HooksUsing Git to Manage a Live Web Siteを参照することができます。

+0

私のお問い合わせに詳しい返答をお寄せいただきありがとうございます。 – kmangame0

関連する問題