8

私は現在、会社で5か月間インターンシップを行っており、開発者がファイルにアクセスする方法を変更します。これは、プレーンftpアクセスではなくgitとも呼ばれます。gitのすべては今までうまくいっています、私はそれを1か月使用した後の使用法に少し慣れています。

これは私が今心に留めていることです:

ここに画像の説明を入力してください

Beanstalkをリポジトリホスティングツールとして使用しています。これには、非常に簡単に機能するデプロイ機能が付属しているため、一部がカバーされています。私が考えさせる部分は、ブランチごとです。私は「ライブ」と呼ばれるブランチと「マスター」を作ることを考えていました。マスターは開発Webサイト(写真の右上)にデプロイされ、ライブブランチはライブWebサイトにデプロイされます。また、ライブWebサイトの展開は手動で行われますが、マスターはこれまでのところ自動的に問題ありません。

ライブウェブサイトに小さな変更を加えるシナリオを考えると、複雑になるところがあります。ランダムなdivのパディングを変更する必要があるとしましょう。半分実装されたAPIを使用して最新のビルドをライブWebサイトにデプロイしたくないのですが、小さな変更のみをデプロイしたいのですが、これは何らかの方法で可能ですか?

私が今見ているのは、2つの場所で修正を行うことです。最初にマスターブランチをプルして修正し、次にライブブランチに対して同じことを行います。しかし、これは大きな変更で難しくなります。

また、ほとんどすべてにWordpressを使用しているため、ほとんどのデータはデータベースに保存されます。ライブデータベースのクローンを作成する必要があるだけなので、これは本当に素晴らしいことです。しかし、画像のアップロードが始まると、物事はかなり醜くなります。リポジトリにはいくつかの画像が含まれ(完全なコピーから最初からgitを使用しなかったため)、後で追加される他の画像はftpディレクトリにあり、それらが含まれているふりをします。レポ!

キャッシュやメディアなどのフォルダーをgitまったく含めないか、一部だけ含めるか、またはたまに更新する方がよいでしょうか。

これらは、それらすべての中で私の2つの最大の問題です。

tl; dr:2回実行せずに、古いブランチに小さな変更をコミットする方法(マスターの場合も)。そして、gitリポジトリでのキャッシュ/メディアファイルの通常の使用法は何ですか?

4

1 に答える 1

17

git flowを読むことをお勧めします。

この正確な問題を解決します。

基本的に、次のブランチがあります。

  • master: いわゆる「ライブ」
  • 開発: 開発が行われる場所
  • 機能: 通常の開発ブランチで実行するには中断が多すぎる、開発中の大きな変更の場合
  • hotfix: これは小さな修正用のものです。

重要な部分は、どのブランチが他のどのブランチに基づいているかです。

  • develop は master から分岐します。
  • 機能は開発から分岐します。
  • ホットフィックスはマスターから分岐します。

開発の変更は、完全にテストされた後にマスターにマージされます。マスターへのマージとは、これがリリースであり、すべてのテストが終了したことを意味します。

つまり、マスターには常に現在のライブ状態が含まれているため、マスターからホットフィックスを分岐しても、開発によって行われた他の変更が導入されないことが保証されます。

これは、git flow が実装する分岐モデルについて簡単に説明したものです。全文を読むことをお勧めします。また、いくつかの素晴らしいグラフィックがあります:)

于 2013-03-05T15:04:41.203 に答える