問題タブ [feature-branch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Gitolite の設定で権限が拒否されない
私は次のような設定ファイルを持っています:
問題は、すべてのユーザーに読み取り権限を与えるだけで、誰もが master ブランチに書き込むことができることです。最初の行として追加する- master = @all
と、結果は同じです。
@all グループに対して master を読み取り専用にして、ユーザー自身の機能ブランチだけに適切なアクセス許可を与えるにはどうすればよいですか?
前もって感謝します。
git - git を使用して、QA とビジネス承認後に一度に 1 つの機能だけをデプロイするにはどうすればよいですか?
私たちの必要なもの:
私のチームは、既に生産されている製品の保守と機能の追加を行っています。展開戦略を改善して、大きな機能のチャンクではなく、一度に 1 つの機能の展開を開始できるようにする方法を見つけようとしています。理想的には、機能が QA およびビジネス承認に合格したときに、その機能だけを (いつでも) 本番環境にデプロイしたいと考えています。
私たちが今やっていること:(それはうまくいきません)
私たちはすでに「機能ごとの分岐」の概念に従っています。現在、開発ブランチから新しい機能ブランチを作成しています。機能が完成したら、プルリクエストを作成して dev ブランチに戻します。このプル リクエストは見栄えがよく、機能に関連する変更のみが含まれています。コードレビューの後、ブランチは dev master にマージされ (そして dev にデプロイされ)、QA が確認します。QA が機能を承認したら、元の機能ブランチをステージング ブランチにマージします (そしてステージングにデプロイします)。ビジネスが新しい機能を受け入れると、元の機能ブランチが本番環境にマージされます。私たちの問題は、元の機能ブランチが、機能ブランチに関連していないように見える多くの変更により、本番環境になるまでに雪だるま式に増えるように見えることです。最終的には、
git - TeamCity で Git 機能ブランチをマスターと自動的にマージし、マージの競合が発生した場合にビルドを失敗させるにはどうすればよいですか?
私たちの開発/リリース サイクルは次のように機能します。
- 開発者は機能ブランチを作成し、機能を実装します
- 開発者は、機能が受け入れテスト (UAT) の準備ができていることを示します
- テスターがフィーチャー ブランチをデプロイし、フィーチャーを受け入れる (または拒否する)
承認された機能はテスターによってマスター ブランチにマージされ、次のリリース サイクルでリリースされます (トランク/マスター コードは毎週デプロイされます)。
テスターが機能を UAT し、それが完全にマージされないことを発見するまでに、その作業を行っていた開発者は通常、別の作業に移っているため、マージの競合に不満を感じています。
TeamCity によってすべてのフィーチャー ブランチが現在のマスター ブランチに対して自動的にマージされ、マージの競合が発生したビルドは失敗したビルドと見なされるソリューションを検討しています。これにより、問題のあるマージを早期に確認できるため、修正できます。それらをより早く。
TeamCity には、このワークフローのサポートが組み込まれているようには見えません (つまり、プッシュがブランチ X に発生した場合、マスターをチェックアウトし、ブランチ X をマージし、ビルドし、単体テストし、パッケージを作成します)。TeamCity と Github を使用して、おそらくカスタム msbuild ターゲットを使用して、同様のワークフローを作成した人はいますか?
編集: Github を使用しているが、現在プル リクエストを使用していないことを明確にする必要があります。これは調査する必要があるようです。:)
git - Git: 以前のマージを元に戻した後にフィーチャー ブランチをマージする際の競合を回避する方法
私たちのリポジトリでは、機能ブランチに基づいて機能を開発しています。最近、機能feature/myfeature
をに統合しましたmaster
:
このマージの後、この機能に問題があり、統合がブロックされていることが判明するまで、さらに開発が行われたため、このマージを元に戻すことにしました。https://stackoverflow.com/a/6217372/1237653に従って、履歴を壊さずにマージを元に戻す唯一のオプションを選択しました。
その間、さらに多くの開発master
が行われ、作者は修正コミットを追加しました。ここで、機能を統合/マージするために 2 回目の実行を行いたいと考えています。残念ながら、最初の apply & revert が 2 回目の試行とまったく同じコード行に触れるため、今では多数の競合が発生しています。
これらの無意味な競合なしに、以前に元に戻した機能ブランチを再適用するにはどうすればよいですか?
運悪くやってみ-s recursive -Xrenormalize
た。リベースも同じ競合を引き起こします。
git - 開発ブランチの git コミットを機能ブランチにマージする方法
git リポジトリに開発ブランチと機能ブランチがあります。開発するコミットを追加しましたが、そのコミットを機能ブランチにマージしたいと考えています。私がこれをしたら
マージコミットで終わります。開発中の新しいコミットをフィーチャー ブランチに頻繁にマージするので、これらの不必要なマージ コミットはすべて避けたいと思います。実行することを提案したこの回答を見ましたgit rebase develop
が、ブランチを巻き戻しすぎて、リベースが失敗します。
更新: 私がやったことは
更新:機能ブランチにマージしてからリベースすると、開発時の元のコミットが異なるハッシュを取得することに気付きました。最終的には機能を開発にマージする予定であり、これはうまく機能しないと推測しているため、それは私が望んでいることではないと思います。