0

私はこの考えに固執しています。

アプリケーションを開発する場合は、PHP フォーラムまたは cms としましょう。

ほとんどの PHP フォーラムと CMS には、次の (およびいくつかの) 共通点があります。

  • これらには、インストーラ ディレクトリが含まれます。
  • インストールが完了したら、セキュリティ上の理由から、インストーラ ディレクトリを削除する必要があります。
  • インストーラ ディレクトリが削除されるまで、アプリケーションは正しく動作しません (メッセージが表示されるか、単に動作しません)。

これは理にかなっていますが、このアプリケーションとバージョン管理の開発をどのように管理すればよいかよくわかりません。

現在、私のシステムにはアプリケーションのコピーが 2 つあります。

何も行われていない 1 つの「クリーン」なコピー。
1 つの "Dev" コピー。このコピーがインストールされ、作業コピーになります。

バグを修正したり、dev バージョンに新しい機能を追加したりした場合は、手動で変更をクリーン コピーにコピーし、コミットしてプッシュします。

これは非常に時間がかかり、私の見解では実用的ではありません。

アプリケーションに拡張機能があり、「開発」コピーがプラグインとともにインストールされていて、拡張機能のクリーン コピーがある場合、同じプロセスを実行します。

これを管理するより良い方法はありますか?

4

4 に答える 4

1

テスト用にインストール フォルダを削除し、削除したファイルに次のマークを付けることができます。

git update-index --assume-unchanged [list of filenames]

git は、それらをリポジトリから削除するように促しません。

以下を使用できます。

git ls-files --deleted

削除されたすべてのファイルを一覧表示して、それらの削除を自動化するには:

git update-index --assume-unchanged `git ls-files --deleted`
于 2013-02-09T23:21:14.810 に答える
1

典型的なエンタープライズ ワークフローは次のようになります (もちろん無限のバリエーションがあります)。

productionブランチには、実際にリリースされたすべてのコードが含まれています。タグは、特定のリリースまたはバージョンをマークするために使用されます。

新しいリリースやパッチを準備するために、ブランチstaging(または名前はかなり恣意的です) が使用されます。qaそのため、開発が進行中で、緊急のパッチが必要な場合は、このブランチで作成し、展開またはリリース手順の一部としてproduction( ) にマージできます。git merge staging

さまざまなdevelopmentブランチが特定の開発作業を追跡します。新機能など。ローンチの準備が整うと、実際にリリースされるまでstaging/などにマージされます。qaワークフローにさらに多くのステップがある場合は、必要に応じてブランチをリストに追加できます (プロダクション -> ステージング -> QA -> 統合 -> テスト -> など)。

このワークフローの考え方は、production-> staging->developmentブランチからいつでも安全にマージダウンできるということです。いくつかのコードを起動に向けて進めたい場合は、逆方向にマージします。

git での分岐は安価なので、必要に応じて単純なバグ修正でも分岐できます。ブランチが忙しい場合はgit branch、基本的に緊急のバグ修正のために一時的なミニを作成し、完了したらこの新しいブランチをマージしてから、通常のブランチにマージすることができます。作業が終わったら、一時ブランチを削除するだけです。productionstagingstagingproductionproductionstaging

ときどき発生する状況の 1 つは、緊急パッチを適用したいが、開発の途中であり、新しいクローンを作成してチェックアウトstagingしたくない場合です。その場合、 を使用して作業を保存し、必要なブランチをチェックアウトしてバグを修正し、ブランチgit stashに戻って最後のスタッシュを取得して作業を再開できます。developmentgit stash pop

于 2013-02-09T23:12:42.730 に答える
1

すべての変更とバグ修正をdev( develop) ブランチにコミットします。develop一連の変更をリリースする場合は、からclean( ) にのみマージしmasterます。特定の新しい機能を開発するために他のブランチを使用します。タグ付けを使用してリリース品質のコードを表示する

于 2013-02-09T22:58:40.960 に答える
0

git を使用すると、異なるバージョンのコードを簡単に切り替えることができるため、技術的に複数のコピーは必要ありません。dev開発中に厄介なコミットをすべて含むブランチを作成できます。特定のバグ機能や機能の実装に特化したブランチを作成することもできます。安定した状態になったら、ブランチをブランチにマージできますmaster。その後、「クリーン コピー」が必要なときはいつでも、masterブランチをチェックアウトできます。別のクリーン コピーが必要な場合は、作業元のリポジトリを複製するか、マスター ブランチをローカル リポジトリからリモート リポジトリにプッシュするだけです。

于 2013-02-09T23:07:02.173 に答える