公開では、1 つのアイテムが同時に公開されるわけではなく、独立して 1 つのアイテムが公開されます。ここでは、現在使用されている、gitlab
に基づく git ワークフロー
を共有することを考えています。 調整された git フローは、私たちの出力頻度を低下させる可能性がありますが、頻繁に git 問題に遭遇することもなく、その後、スタック git の高レベルのアプリケーション メソッドを削除します。ただし、基本的な git 操作が実行されるだけで、その後調整操作が行われ、基本的に git の問題に遭遇することはなく、そのような大家は、時間をかけてトラフィックを管理することができます。ではなく、遭難问题、紧急去寻找答案的候時
我们的このgit工作流玩儿法呢、主是分支持下面几个分支:
master
分支 最新のセキュリティコードvx.x.x
分支 バージョンサポート、x.x.x は次に公開されるバージョン番号です。 feat-xxx
分支特性(新しい機能)分支fix-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
上記のシーケンス図を通して、バージョンは、バージョン ブランチ v1.0.0
と名付けられ、また、2 つの機能ブランチ feat-add-button
および feat- に基づいて作成されたことがわかります。このバージョンでは 2 つの関数 add-form
を実行し、関数の開発が完了するまで待ってから、mr
から gitlab
を開始します (マージcommit# に注意してください) ## オプションをここでチェックする必要があります)
v1.0.0 にマージすると、
v1.0.0 ブランチのコードが開発環境から運用環境へのフローを開始します。その中で、修正や最適化が必要な箇所がある場合は、まず feature ブランチを変更し、その後
cherry pick を version ブランチに移動します。オンラインになったら、バージョン ブランチと次の機能ブランチを削除します。
sequenceDiagram master->>fix-button-click: 从master切出 fix-button-click fix-button-click->>fix-button-click: 修复问题并测试 fix-button-click->>master: 从gitlab发起mr合并到masterIn実際、ここでのプロセスは上記とあまり変わりませんが、ここで注意する必要があるのは、オンラインの問題を修正する場合、バグごとに 1 つのコミットが作成され、マスターにマージするときにコミットがマージされないことです。そして、マージ情報をこのバージョン番号に変更する必要があります。たとえば、今回は v1.0.1です。3 番目のシナリオはマルチバージョンの並列開発です。このシナリオは通常の反復シナリオと変わりません。複数のバージョンがあるかどうかによって異なります。バージョンがあるので、対応するバージョンのブランチを作成するだけで十分です。各バージョン ブランチの通常の反復プロセスに従うだけです。 Q&AQ: プッシュやデプロイを実現するために、開発、テストなどの環境に対応するブランチがないのはなぜですか。A: 私たちのプロセスはこれらの固定ブランチの使用を断念しました。理由はいくつかあります。
コードがテストされた後、開発環境からテスト環境、さらには UAT (プレリリース) 環境まで、さまざまな環境でコードが変更された場合、これらのブランチのコードを維持するために、コードを各環境ブランチに同期させるのは少し面倒です。バージョン ブランチではこの問題は発生せず、バージョン ブランチは 1 つだけ存在し、さまざまな環境に対応できます。
複数のバージョンの並行開発に便利です。複数のバージョン ブランチを作成できるため、並行開発中にさまざまなテスト環境にデプロイするのに便利です。バージョン間のモジュールに密接な関連性がない場合は、それらを並行してテストすることもできます。 ############セマンティック。バージョン ブランチを使用すると、ブランチ名を通じて現在開発中のブランチを知ることができます。
Q: master ブランチの変更に対処する方法
推奨学習: "
Git ビデオ チュートリアル"
以上がgit ワークフローを実行するエレガントな方法を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。