問題タブ [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.
tfs - TFS Git 機能を使用して TeamCity で複数のブランチ仕様を使用することは可能ですか?
私のプロジェクトでは、TFS 2013をソース管理リポジトリとして使用し、TeamCity 9.1.6を CI サーバーとして機能ブランチを使用しています。まもなく TFS 2015 にアップグレードする予定です (... GIT には移行できません)
GIT や Mercurial を使用する場合、複数のブランチ仕様を使用できることは知っていますが、これは非常に便利です。TFS 2013 では、Microsoft は GIT のネイティブ サポートを追加しました。
すべての機能ブランチをビルドする単一のコミット ビルドを作成するために、既存の TFS サーバーを使用して複数のブランチ仕様を実行したいと考えています。
だから私の質問は:
- それを可能にする TeamCity プラグインはありますか? (私の可能なGIT-TFSトリックよりも簡単です)
- TFS 2013 が GIT をサポートしている場合、TeamCity ビルドが TFS を GIT サーバーと見なし、ここで説明されているように複数のブランチ仕様を使用するように VCS を構成できますか?
理論的には、GIT サーバーとして TFS に接続する TeamCity VCS は、それを GT サーバーと見なしますね。
svn - トランクにリベースされた機能ブランチを統合する SVN - 変更がないにもかかわらず svn:mergeinfo が更新されるのはなぜですか?
この例は SVN 1.8 のものです。
トランクと機能ブランチで共通の手法を使用します。通常、フィーチャー ブランチはトランクの分岐によって作成されます。フィーチャー ブランチは、トランクからフィーチャー ブランチへの変更をマージ (リベース) することにより、トランクで継続的に最新の状態に保たれます。フィーチャー ブランチでの開発が完了すると、コンテンツはトランクにマージされます。
フィーチャー ブランチがマージされてトランクに戻されると、リベースによって作成されたものを含むフィーチャー ブランチへのすべての変更が、トランク内のファイル/フォルダーの svn:mergeinfo プロパティに記録されます。この結果の 1 つは、フィーチャー ブランチがトランクにマージされたときに、フィーチャー ブランチ (リベースを除く) で更新されていないファイルとフォルダーが変更済み (プロパティのみ) としてマークされることです。
なぜこれが必要なのですか?トランク ログは、トランクに関連する機能ブランチでフォルダー/ファイルの内容が変更されていないにもかかわらず、機能ブランチがトランクにマージされたときにこれらのフォルダー/ファイルが変更されたことを示しています。TortoiseSVN は、変更していない多くのフォルダ/ファイルが更新されていることを示しているため、これは開発者にとって非常に混乱しています。これは本当に望ましい動作ですか?
git - Git 機能ブランチ: マージ コミットを 1 つだけ取得する
次の状況。私は git の機能ブランチに取り組んでおり、対応する機能が完成したら共通の開発ブランチにマージします。機能を完成させるにはかなりの時間がかかることがあるため、定期的に開発を機能ブランチにマージして、同僚からコードの更新を取得し続けます。
ここで、機能ブランチを開発にマージして終了すると、機能ブランチで行ったすべてのコミットが開発の履歴に表示されます。しかし、履歴を明確に保つために、マージ コミットは 1 つだけにしたいと考えています。私はすべての中間のものを必要としません。
それは可能ですか?
git - すでにマージされているオリジンのリモート ブランチを削除する
「統合」という名前のブランチをマスター ブランチとして使用しており (マスター ブランチはまだありますが、今は使用していません)、そこから作成されてマージされたブランチがたくさんあります。削除されます。ローカルブランチの削除に関するこの質問を見つけましたが、特定の状況に提案を適用することについて確信が持てませんでした.
私はこれがうまくいくと思います.このコマンドを実行したくなくて、それが間違っていてレポを台無しにします.
$ git チェックアウト統合
$ git ブランチ -r --merged | grep -v 統合| sed 's/origin//:/' | xargs -n 1 git プッシュ元
git - Gitflow と誤って他の機能をマージする
私たちは最近 gitflow の導入を開始しました。主にいくつかの YouTube ビデオといくつかのオンライン記事に従って、SourceTree 内の GUI 機能とともに。
しかし、解決したいと思っていた状況に直面しているため、何か間違ったことをしていると思います。
developer 1
に取り組んでいますfeature 1
、developer 2
に取り組んでいますfeature 2
、develop
ブランチは開発用でステージング中です、master
ブランチはライブ/プロダクションです
開発者 1
- 開発 = マスター (マスターと同期)
- 開発 -> 機能 1 への分岐
- 開発 <- 機能 1 にマージ
開発者 2
- 開発 != マスター (マスターと同期していません)
- 開発 -> 分岐機能-2
- 開発 <- マージ機能-2
にマージしてライブdeveloper 2
に配置したい場合、問題が発生します-これには が含まれます。つまり、両方がライブになります。feature 2
master
feature 1
つまり、私たちは明らかに何か間違ったことをしています - これは私たちが明確にする必要があるものです。頭のてっぺんからこれを回避できる唯一の2つの方法は次のとおりです。
master
からではなく、新しい機能を作成します。develop
- 実際に変更されたファイルのみを取得する「Cherry Pick」を使用します
master
私たちが望んでいる解決策は、リリース サイクルのない Web 開発プロジェクトの混合です。クライアントが機能をサインオフすると、文字通りライブになります。これを達成する方法についての提案は大歓迎です。
ありがとう
plugins - TeamCity VCS プラグインに機能ブランチを実装する
私は現在、Plastic SCM VCS プラグインのフィーチャー ブランチのサポートを追加しています。すべての準備ができていると思います (明らかに間違っています) が、TeamCity はすべての新しい変更セットがすべてのブランチに属していることを検出します。これにより、プラグインが使用できなくなります。これは、デフォルト ブランチでの新しいコミットがすべてのアクティブなブランチでビルドをトリガーするためです。
をPlasticVcsSupport
拡張するクラスがありServerVcsSupport
ます。これはPlasticVcsSupport.getCollectChangesPolicy()
方法です:
これはPlasticCollectChangesPolicy
クラスの概要です: public class PlasticCollectChangesPolicy implements CollectChangesBetweenRepositories {
getCurrentStatus()
新しい変更が適切に検出され、メソッドに渡された from/to 状態が理にかなっているため、メソッドcollectChanges()
は正常に機能しているようです。ただし、ModificationData
TeamCity は各のブランチを見つけることができないため、返されたオブジェクトに設定する何かが欠けているようですModificationData
。メソッドを使用して適切な親変更セットを設定していますaddParentRevision(String)
が、何も達成されませんでした。gitプラグインコードもチェックしましたが、何が欠けているのかわかりません:-(
ModificationData の構築方法は次のとおりです。
どんな種類の助けも本当に感謝しています:-)
ありがとう!
ios - モバイル開発のための機能分岐
私は自分の Web プロジェクトにフィーチャー ブランチを使用しています。フィーチャーごとに新しいブランチを作成し、チームの他のメンバーがフィーチャーをテストする準備ができたらプル リクエストを開きます。
Heroku レビュー アプリとGithub 共同コード レビューを使用して、コードをレビューし、機能をシームレスにテストできます (プルやビルドなどは必要ありません..)。
現在、ionic2 と testflight (ios) / beta (android) プログラムを使用して、ios/android 用のモバイル アプリを開発しています。問題は、一度に 1 つのビルドしか作成できないため、機能を 1 つずつテストする必要があることです (つまり、PR1、B1、マージ PR1、オープン PR2、B2、マージ PR2 など)。開発プロセスが大幅に遅くなります。
それで、多くのモバイルビルドを同時にテストするための追加のツール/オプション/プロセスを知っていますか?
git - 機能ブランチにないファイルに影響を与えるコミットを表示しますか?
とを指定するbranch-a
とgit rebase origin/master branch-a
、ファイル内で競合が発生することがあります。
リベースの前に (定義により) 競合がなかったことを考えると、競合は への 1 つ以上のコミットによってのみ発生した可能性があり.../file.txt
ます。
競合解決プロセス中に、「.../file.txt に影響を与えたオリジン/マスターからのコミット」を簡単に表示して、これらの変更をより自信を持って統合できるようにする方法がわかりません。
ABCD
メインライン開発です。 EFG
私のローカルブランチの開発です。へのローカル リベース中に、コミットC
によりファイル/コミットで競合が発生しました。F
D
デタッチされた HEAD または「リベース」状態をgit log -3 file.txt
考えると、見たいものが表示されないように見えます。commit を適用します。C
F
特定のファイルにのみ影響を与え、その範囲からのコミットのリストを取得するにはどうすればよいですか...または現在アクティブなABCD
コミットは含まれませんか?EFG
--rebase
teamcity - TeamCity 機能ブランチ アーティファクトの依存関係
TeamCity (10.0.2) にカナリア ビルド (BuildA) があり、コミット時に master、develop、およびすべての feature/* ブランチをビルドします。
BuildA からアーティファクトの小さなセットを取得し、ファイルに対して FxCop を実行する別のビルド (BuildB) を作成したいと考えています。そして、BuildB に Finish Build トリガーを持たせて、BuildA がいずれかのブランチで完了すると、BuildB がそのブランチからアーティファクトを取得して実行できるようにします。
これを設定するには、いくつかのハードルがあるようです。
[Edit Artifact Dependency] ボックスを開くと、ワイルドカードやパターン マッチではなく、論理的なブランチ名である [Build branch] を指定する必要があります。そのため、BuildA から生成されるすべてのビルドにアーティファクトの依存関係をセットアップする方法がわかりません。
"Finish Build Trigger" にはブランチ フィルターがあり、"+:*" を挿入してすべてのブランチをキャッチできるように見えますが、それは "Artifact Dependency" ブランチ名の値とどのように一致するのでしょうか?
git - QA は、Gitflow ワークフローの機能分岐を使用して複数の機能を一度にテストするにはどうすればよいですか?
開発者がさまざまな機能のさまざまなブランチで作業する場合、機能ブランチから QA ビルドを提供でき、テストが完了したら「開発」とマージできることを理解しています。しかし、QA チームがかなり大規模で、一度に複数の機能をテストできる場合、異なるブランチに存在する機能を含むビルドをどうやって彼らに与えることができるでしょうか?