問題タブ [branching-and-merging]
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 - あるブランチから別のブランチにコミットをコピーする方法は?
私はマスターから2つのブランチを持っています:
- v2.1 : (バージョン 2) 数か月間取り組んできた
- wss : マスターに特定の機能を 1 つ追加するために昨日作成したもの (本番環境)
昨日のコミットを wss から v2.1 にコピーする方法はありますか?
tfs - TFS:同じファイルに対する複数のマージ操作
次の状況を想像してみてください。DEVとMAINの2つのブランチがあります。私はprogram.csと呼ばれるDEVブランチのファイルに取り組んでいます。何度もチェックしたので、5900、5905、5909などのいくつかのチェンジセットができてしまいました。これらは連続していないことに注意してください。
次に、これらの変更をMAINにマージしますが、間に各変更セットをチェックインしません。これは不可能です。最初のマージは機能しますが、チェンジセットの2番目のマージでは次のエラーが発生します。
このエラーを回避する方法はありますか?Visual Studio 2010は同じように動作していますか(おそらく、今日の後半にこれを試す機会があります)?複数の、しかし連続したチェンジセットをマージする場合、TFSはこれをどのように行いますか?
svn - SVNワークフロー-卵の前の鶏-V1をV2とマージする前に、V2で動作するためにV1からのコードが必要です
分散チーム(3人の内部開発者と3人以上の外部開発者)は、SVNを使用してWebサイトのコードベースを管理しています。マイナーバージョン(4.1.0、4.1.1、4.1.2など)ごとにブランチがあります。リリースを行ってサイトに公開するときに、各バージョンをマージするトランクがあります。
したがって、私たちが抱えている問題の例は次のとおりです。新しい機能が追加されました。これを4.1.1の「プロジェクトを作成する機能」と呼びましょう。4.1.1の機能に依存する別の機能は、「プロジェクトにタスクを追加する機能」と呼ばれる4.1.2で実行される予定です。
したがって、月曜日に、4.1.1は「クローズ」であり、テストする必要があると言います。通常、リモート開発者はこの時点で4.1.2の機能/チケットの作業を開始します。1週間を通して、4.1.1をテストし、バグを修正して4.1.1にコミットします。次に、金曜日かそこらで、4.1.1にタグを付け、トランクとマージし、最後に4.1.2とマージします。しかし、私たちがテストしている4〜5日間、4.1.2には、4.1.2の新機能の一部が依存する4.1.1のコードがありません。
そのため、「プロジェクトにタスクを追加する機能」機能を追加している開発者は、「プロジェクトを作成する機能」機能を構築することができず、作業を継続できるようにファイルコピーのシェナニガンを実行する必要があります。 。
このプロセスをスムーズにするために何ができる/すべきですか?
PSこの質問が以前に尋ねられた場合は、お詫びします-検索しましたが、探しているものが見つかりませんでした。
tfs - ブランチの一部を削除する
コードベースでは、TFSを使用して次の構造を使用しています
開発セクションとリリースセクションには、メインからのブランチが含まれています。ビルドセクションは分岐の外側にあります。各ブランチ内には、ビルドの下に移動したいブランチに含まれるべきではないセクションがあります。
このセクションを移動して、その分岐情報を削除することは可能ですか?
名前を変更した場合、新しいブランチを作成したり、マージしたりすると、どのような影響がありますか?
git - ソースがgitから分岐した場所を見つける
私は git リポジトリ (多かれ少なかれプロジェクトの歴史をカバーしています) と別のソース (いくつかのファイルを含む tarball のみ) を持っています。
tarball からのソースはかなり多くの変更が加えられているので、そこからいくつかを組み込みたいと思います。問題は、変更されたソースの実際の分岐点を見つけて、そこで何が起こったのかを最小限に抑える方法です。
だから私が基本的に望んでいるのは、コードが私が持っているソースの tarball に最も似ている git 履歴の場所を見つけることです。そして、私はそれを手動で行いたくありません。
また、変更されたソースにはファイルのサブセットのみが含まれており、いくつかのファイルが複数に分割されていることにも言及する価値があります。ただし、そこにあるコードには、小さな変更といくつかの追加しかないようです。
自分で試してみたい場合は、ソース付きの tarball がここにあり、Git はGitoriousでホストされています。git://gitorious.org/gammu/mainline.git
svn - 移動したファイルを使用してブランチをマージし、両方を保持するSubversion
分岐したプロジェクトがあり、多数のファイル(F1)が別のディレクトリに移動されて変更されました(F2)。ここで、ブランチをトランクにマージしてリビジョン履歴を保持したいのですが、F1とF2の両方を保持したいと思います。Subversionでこれを行う方法はありますか?
tfs - 変更のバッチをやり直します
TFSで次のアクションを実行しました。
- 誤ってトランク内のファイルの束にいくつかの変更を加えました
- それを実現しました。
- 目的のブランチへの変更をマージしました
- トランク内の変更をロールバックしました(tfptロールバックを使用)
- その後、トランクから定期的にスケジュールされたフォワード統合中に、ブランチの変更を元に戻しました。
どうすれば変更を再適用できますか?問題の3つのチェンジセットと約80のファイルがあります。
svn - svn reintegrate ブランチの削除と再作成のパターン
推奨される使用方法--reintegrate
は、一般的に理解されています。ただし、再統合の実践では、ブランチを削除することをお勧めします。メンテナンスまたは保証の開発に必要な場合は、ブランチを「再作成」する必要があります。
ただし、ほとんどの例では、再統合されて削除されたブランチが新しい名前で再作成されています。
再統合後にブランチが削除され、同じ名前で再作成された場合、どのような害がありますか? (たとえば、ビルド エンジニアが名前を静的なままにしておく必要があり、ブランチはその名前を保持する必要があるとします。)
svn - SVN でブランチのソースを変更する
まず、ブランチの構造を提供します
- トランク
- Version1 (トランクからの分岐)
- CustomerA (Version1 からの分岐)
- CustomerB (Version2 からの分岐)
- Version2 (トランクの後の時点での新しいブランチ)
- CustomerC (Version2 からの分岐)
- Version1 (トランクからの分岐)
ここで、CustomerB をバージョン 2 に移行したいと考えていますが、CustomerB ブランチに加えられた変更を保持する必要があります。
これは可能ですか、どうすればできますか? TortoiseSVN クライアントで SVN を使用しています。