検索
ホームページ開発ツールGitgit ワークフローを実行するエレガントな方法を共有する

公開では、1 つのアイテムが同時に公開されるわけではなく、独立して 1 つのアイテムが公開されます。ここでは、現在使用されている、gitlab に基づく git ワークフロー を共有することを考えています。 調整された git フローは、私たちの出力頻度を低下させる可能性がありますが、頻繁に git 問題に遭遇することもなく、その後、スタック git の高レベルのアプリケーション メソッドを削除します。ただし、基本的な git 操作が実行されるだけで、その後調整操作が行われ、基本的に git の問題に遭遇することはなく、そのような大家は、時間をかけてトラフィックを管理することができます。ではなく、遭難问题、紧急去寻找答案的候時

我们的このgit工作流玩儿法呢、主是分支持下面几个分支:

master

分支 最新のセキュリティコード
  • vx.x.x分支 バージョンサポート、x.x.x は次に公開されるバージョン番号です。
  • feat-xxx分支特性(新しい機能)分支
  • fix-xxx分支 修正分支
  • 上面のこれらの分支、就是我们在リリースでは、頻繁に再構築されて使用される支店が必要です。 以下に、各支店が表す意味を詳しく説明します。
feat-xxx

分枝は、特定のバージョンの特定の新機能を公開するために作成された分枝を示します。

vx.x.x はバージョン ブランチを表します。これは、各バージョンの開始前に、このバージョン番号の名前で master から作成するブランチです。たとえば、バージョン番号は2.0.1 の場合、バージョン ブランチは v2.0.1 になります。次に、このバージョンの新機能が feat-xxx で開発され、スモーク テストに合格するまで待ってから、gitlab に移動して mr を送信してマージします。ブランチ上のこのバージョンに移行します。各環境テストに合格したら、バージョン ブランチのコードを master にマージし、このバージョン ブランチを削除します。

fix-xxx は修復ブランチを表します。通常、オンラインの問題に対処する場合、欠陥名にちなんで名付けられたブランチが作成されます。欠陥テストに合格した後、mr master ブランチを

にマージします。 注: ここには、feature ブランチで開発によって送信された commit 情報は一般に役に立たない情報であると考えられるという詳細があります。バージョン ブランチにマージする場合は、commit にマージします (マージに gitlab を使用しているため、mr リクエスト スカッシュを開始するときに を確認してください) オプションは問題ありません)、テストが送信された後は、テスト プロセス中のバグを修正するためであっても、関数を最適化するためであっても、すべての commit が保持されます。この目的は警告です。最も良い状況は、テストがすぐに開始されることを願っているためです。この目標を達成するのは困難ですが、残された commit 情報は、

の関数を確認するのに役立ちます。

最初のシナリオ: 通常の開発反復

今回は 1.0 を開発する必要があるため、時間をかけて開発しました。 0 バージョンを例として説明すると、2 つの機能モジュールがあり、1 つはボタンを追加する必要があり、もう 1 つはフォームを追加する必要があります

sequenceDiagram
master->>v1.0.0: 从master切出 v1.0.0
master->>feat-add-button: 从master切出 feat-add-button
master->>feat-add-form: 从master切出 feat-add-button
feat-add-form->>feat-add-form: 开发完成
feat-add-button->>feat-add-button: 开发完成
feat-add-button->>v1.0.0: 在gitlab发起mr到v1.0.0,并合并所有commit
feat-add-form->>v1.0.0: 在gitlab发起mr到v1.0.0,并合并所有commit
v1.0.0->>v1.0.0: 提测
feat-add-button->>feat-add-button: 修复测试bug
feat-add-button->>v1.0.0: 将修复的 commit cherry pick到 v1.0.0
v1.0.0->>master: 在gitlab上mr到master,并将合并信息改成 v1.0.0

git ワークフローを実行するエレガントな方法を共有する

上記のシーケンス図を通して、バージョンは、バージョン ブランチ v1.0.0 と名付けられ、また、2 つの機能ブランチ feat-add-button および feat- に基づいて作成されたことがわかります。このバージョンでは 2 つの関数 add-form を実行し、関数の開発が完了するまで待ってから、mr から gitlab を開始します (マージcommit# に注意してください) ## オプションをここでチェックする必要があります) v1.0.0 にマージすると、v1.0.0 ブランチのコードが開発環境から運用環境へのフローを開始します。その中で、修正や最適化が必要な箇所がある場合は、まず feature ブランチを変更し、その後 cherry pick を version ブランチに移動します。オンラインになったら、バージョン ブランチと次の機能ブランチを削除します。

このプロセスで管理されるコード バージョンは非常に明確です。これはインターセプトされたマスター フラグメントの一部です。

git ワークフローを実行するエレガントな方法を共有する

通常の反復には別のシーンがあります。プロセス。それは、開発中に突然PMがやってきて、何らかの不可抗力で機能をカットする必要があると言い出したのです。このとき、まだテストされていないコードや比較的単純な機能であれば、それほど面倒ではありません。しかし、そうであれば、あなたの関数と他の同僚のコードはテストされており、いくつかのバグは修正されています。コミットはすべて絡み合っており、特に多くのファイルの変更を伴う要件は、現時点で対処するのが非常に面倒です。 、他の人のコードを見るだけでなく、自分のコードで間違いを犯さないように注意する必要もあります。現時点でのプロセスは非常に簡単で、既存のバージョン ブランチを削除し、オンラインにする必要がある機能ブランチを再グループ化するだけです。バージョン ブランチは機能ブランチによって結合されていることがわかります。つまり、バージョン ブランチは異なる機能ブランチによって任意に結合できます。これは処理がより便利です

2 番目のシナリオはオンライン バグ修復です

オンラインで修復する必要があるボタンのクリック イベントを例として取り上げます

sequenceDiagram
master->>fix-button-click: 从master切出 fix-button-click
fix-button-click->>fix-button-click: 修复问题并测试
fix-button-click->>master: 从gitlab发起mr合并到master
In実際、ここでのプロセスは上記とあまり変わりませんが、ここで注意する必要があるのは、オンラインの問題を修正する場合、バグごとに 1 つのコミットが作成され、マスターにマージするときにコミットがマージされないことです。そして、マージ情報をこのバージョン番号に変更する必要があります。たとえば、今回は v1.0.1です。

3 番目のシナリオはマルチバージョンの並列開発です。

このシナリオは通常の反復シナリオと変わりません。複数のバージョンがあるかどうかによって異なります。バージョンがあるので、対応するバージョンのブランチを作成するだけで十分です。各バージョン ブランチの通常の反復プロセスに従うだけです。

Q&A

Q: プッシュやデプロイを実現するために、開発、テストなどの環境に対応するブランチがないのはなぜですか。

A: 私たちのプロセスはこれらの固定ブランチの使用を断念しました。理由はいくつかあります。

  • コードがテストされた後、開発環境からテスト環境、さらには UAT (プレリリース) 環境まで、さまざまな環境でコードが変更された場合、これらのブランチのコードを維持するために、コードを各環境ブランチに同期させるのは少し面倒です。バージョン ブランチではこの問題は発生せず、バージョン ブランチは 1 つだけ存在し、さまざまな環境に対応できます。

  • 複数のバージョンの並行開発に便利です。複数のバージョン ブランチを作成できるため、並行開発中にさまざまなテスト環境にデプロイするのに便利です。バージョン間のモジュールに密接な関連性がない場合は、それらを並行してテストすることもできます。 ############セマンティック。バージョン ブランチを使用すると、ブランチ名を通じて現在開発中のブランチを知ることができます。

  • Q: master ブランチの変更に対処する方法

  • A: master ブランチに変更がある場合は、適時に独自の機能ブランチにマージします。他のメンバーのコードとの競合を防ぐ方法 競合がある場合

推奨学習: "

Git ビデオ チュートリアル

"

以上がgit ワークフローを実行するエレガントな方法を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はjuejinで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
git and github:役割と機能を調査しますgit and github:役割と機能を調査しますMay 09, 2025 am 12:25 AM

ソフトウェア開発におけるGitとGithubの役割と機能は、コードと共同開発を管理することです。 GITは、コミット、ブランチ、マージ関数を通じてコードバージョンを効率的に管理し、GitHubはPullRequestや問題などのコードホスティングやコラボレーションツールを提供してチームのコラボレーション効率を向上させます。

Github:コードの発見、共有、貢献Github:コードの発見、共有、貢献May 08, 2025 am 12:26 AM

GitHubは、開発者がコードを発見、共有、および寄付するための優先プラットフォームです。 1)Pythonプロジェクトなどの検索関数を使用して、特定のコードベースを見つけます。 2)リポジトリとプッシュコードを作成して、世界中の開発者と共有します。 3)オープンソースプロジェクトに参加し、フォークとプルレクエストを通じてコードを提供します。

GithubでGitを使用:実用的なガイドGithubでGitを使用:実用的なガイドMay 07, 2025 am 12:11 AM

Gitはバージョン制御システムであり、GithubはGitに基づくオンラインプラットフォームです。コード管理とチームのコラボレーションにGitとGithubを使用するための手順には、次のものが含まれます。1。gitリポジトリの初期化:gitinit。 2.一時的なストレージエリアにファイルを追加:gitadd。 3.変更を送信:gitcommit-m "initialcommit"。 4。Githubリポジトリに関連する:gitremoteaddoriginhttps://github.com/username/repository.git。 5.コードをgithubにプッシュ:gitpush-uoriginmaste

Githubの影響:ソフトウェア開発とコラボレーションGithubの影響:ソフトウェア開発とコラボレーションMay 06, 2025 am 12:09 AM

GitHubは、ソフトウェア開発とコラボレーションに広範囲に影響を及ぼします。1。これは、コードセキュリティと開発の柔軟性を向上させるGITの分散バージョン制御システムに基づいています。 2。PullRequestなどの機能を通じて、チームのコラボレーション効率と知識の共有を改善します。 3。githubactionsなどのツールは、開発プロセスを最適化し、コードの品質を向上させるのに役立ちます。

GitHubの使用:コードの共有、管理、貢献GitHubの使用:コードの共有、管理、貢献May 05, 2025 am 12:12 AM

GitHubでコードを共有、管理、および寄稿する方法には次のものがあります。1。リポジトリとプッシュコードを作成し、ReadMeとライセンスファイルを書き込みます。 2。ブランチ、タグ、マージリクエストを使用してコードを管理します。 3.リポジトリをフォークし、PullRequestの貢献コードを変更して送信します。これらの手順を通じて、開発者はGitHubを使用して開発効率とコラボレーション機能を改善することができます。

Git vs. Github:比較分析Git vs. Github:比較分析May 04, 2025 am 12:07 AM

Gitは分散バージョン制御システムであり、GithubはGitベースのコラボレーションプラットフォームです。 GITはバージョン制御とコード管理に使用され、GitHubはコードレビューやプロジェクト管理などの追加のコラボレーション機能を提供します。

Git vs. Github:違いを理解していますGit vs. Github:違いを理解していますMay 03, 2025 am 12:08 AM

Gitは分散バージョン制御システムであり、GithubはGitに基づいたオンラインプラットフォームです。 GITはバージョン制御、支店管理、合併に使用され、GitHubはコードホスティング、コラボレーションツール、ソーシャルネットワーキング機能を提供します。

Github:フロントエンド、git:バックエンドGithub:フロントエンド、git:バックエンドMay 02, 2025 am 12:16 AM

Gitはバックエンドバージョン制御システムであり、GithubはGitに基づくフロントエンドコラボレーションプラットフォームです。 GITはコードバージョンを管理し、GitHubはユーザーインターフェイスとコラボレーションツールを提供し、2つは開発効率を向上させるために協力します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。