問題タブ [merge]
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 のフィーチャー ブランチからのマージがなぜこんなに面倒なのですか?
HEAD ブランチと、HEAD ブランチから作成されたフィーチャー ブランチがあります。私はフィーチャー ブランチで開発を行っており、常に HEAD からブランチに変更をマージしています。
機能が完成したら、それを HEAD にマージしようとします。これは、機能ブランチへの以前のマージですべての競合が既に解決されているため、痛みのない操作であると想定されています。しかし、決してそうではありません。
ブランチのコンテンツ全体をコピーし、それで HEAD ブランチを上書きしてしまいます。これは、Team Foundation System 2005 および 2008 での状況です。これはバグですか、それとも何か問題がありますか?
.net - 配置プロジェクト ファイルへの変更を比較/マージする方法
私は現在 CVS (私の選択ではありません) を使用しており、いくつかのブランチがあります。2 つのブランチをマージしようとしていますが、展開プロジェクト ファイルに競合があり、多くの時間を費やさなければ解決できません。プロジェクト ファイルを少し変更すると、そのプロジェクト ファイルが大幅に変更されます。GUID の変更のおかげだと思います (プロジェクト ファイルを変更し、クリーン コピーを取得し、同じ変更を行うと、2 つのかなり異なるプロジェクト ファイルが生成されるようです)。
そのため、実際に行われたすべての変更を特定して、手動で複製できるようにする必要があります (変更ログの詳細が十分でないため)。
変更された GUID / 位置を考慮したプロジェクト ファイル差分ツールはありますか?
merge - ブランチのマージは実際にどのように機能しますか?
これは素朴な質問かもしれませんが、オブジェクトで尋ねられたように、バージョニング ソフトウェアが壊れたコードを生成せずにブランチをメイン トランクにマージするために使用する実際の方法は何ですか?
簡単な例を次に示します。「Hello World Power edition」プログラムのメイン トランクからブランチを作成します。クリンゴンのサポートを追加します。これは、関数 printHelloWorld() の動作方法を変更する根本的な変更です。
一方、「Hello World」が「Helo World」と表記されるバグ #749 のため、メイン トランクの関数 printHelloWorld() が変更されました。
さて、ここで私が目にする問題は次のとおりです。ブランチでマージしてメイン トランクに戻ると、ファイル sayHello.py 内の関数 printHelloWorld() で衝突を実験します。
VCS プログラムはどのようにして私のブランチから Klingon サポートを追加し、バグ修正をメイントランクに保持する方法を知っていますか? これを回避するための人間主導またはソフトウェア主導の戦略は何ですか?
前もって感謝します。
java - XML 差分とマージ
解決すべきかなりユニークな問題があると思います。まあ、私はGoogleを使って十分な情報を見つけることができません。ということで、
私は、Oracle XML DB を使用して XML ドキュメントを XML として格納する Java EE SOA アプリケーションに取り組んでいます。XML が変更されるたびに、バージョンをインクリメントし、以前のバージョンを別のテーブルにスローします。
現在の要件は、XML ドキュメント全体ではなく、2 つのバージョンの違いを XML として保存する必要があるということです。
- XML 比較を実行できる Java ライブラリはありますか? (XMLユニット、...?)
- XML の違いをキャプチャするための標準 XML スキーマはありますか?
- 「違い」を XML に適用してバージョン間を行き来するには、どの変換テクノロジを使用できますか? (XSLT、Groovy、.... ?)
お時間をいただきありがとうございます。
git - Git:プロジェクトの2つのブランチを維持し、共有データのみをマージするにはどうすればよいですか?
プロジェクトIMClient-MacOSとIMClient-Windowsの2つのブランチがあり、それらのコードは(たとえば)1つのディレクトリmain/だけが異なるとします。他のすべてのディレクトリにはシステムに依存しないコードが含まれており、互換性があります。
一部のワーカーはWindowsバージョンで動作し、一部のワーカーはMacOSバージョンで動作します。対応するブランチからマージするときに、メイン/ディレクトリへの上書きの変更をどのように防止しますか?OSに依存するディレクトリを常に無視するGitにマージする方法はありますか?
mercurial - Mercurialのベストプラクティス:ブランチとクローン、および部分的なマージ?
...だから私はMercurial(、、)の簡単なものにadd慣れ、.hgignoreファイル(yay!)について知り、ブランチ(、commit)を作成して切り替えるコツをつかんだ。diffbranchupdate -C
しかし、私には2つの大きな質問があります。
ブランチ「Branch1」にいて、ブランチ「Branch2」からの変更のすべてではなく一部を取得したい場合、どうすればよいですか?特に、すべての変更が1つのサブディレクトリにある場合。(リポジトリ全体のクローンを作成し、Beyond Compareなどのディレクトリマージツールを使用して編集内容を選択して選択できると思います。ただし、1つのファイルまたは1つのディレクトリの変更を分離する方法があるはずです。)
でブランチを切り替えるの
update -Cはとても簡単なようですが、なぜわざわざを使用するのだろうかと思いcloneます。私はいくつかの理由しか考えられません(以下を参照)-私が見逃している他の理由はありますか?a。2つのバージョン/ブランチを同時に操作する必要がある場合(たとえば、パフォーマンスメトリック差分を実行する)
b。バックアップ用(
clone物理的に異なる場所にあるネットワークドライブへのリポジトリ)c。上で述べたように、pick&chooseマージを実行します。
c# - DataSet の 2 つの列をマージするにはどうすればよいですか?
以前、列をデータセットに挿入することについて質問しました。同様の質問があります...つまり、2つ以上の列を1つの列にマージします。
次のデータセットがあるとします。
「firstname」列と「lastname」列を「name」という 1 つの列に結合する必要があります。
2 つの列を結合する方法、または複数の列を結合するために使用できるより一般的な方法を作成するのが最善でしょうか?
私の考えは、次のような一般化されたメソッドを作成することです。
MergeColumns(string format, string mergedColumn, DataTable dt, params string[] columnsToMerge)
ユーザーは次の形式を指定します: "{0} {1}"
mergedColumn は新しい列の名前です...しかし、「名前」と「given_names」を「名前」にマージしている私の現実のケースでは、マージされる列の1つと同じにする必要があります...しかし、「通り」、「都市」、「州」、「郵便番号」などを「住所」という列にマージする必要がある場合は、それでも使用できるようにしたいと考えています。
私が考えている使い方は次のようなものです。
MergeColumns("{0} {1}", "名前", dataTable, "名", "姓");
上記のデータセットを考えると、結果のデータセットは次のようになると思います。
これは合理的なアプローチのように思えますか? このような方法はすでに存在しますか?車輪の再発明はしたくありません。また、実際に必要以上のことを行うメソッドを作成していませんか?
svn - 一部のバージョン管理システムのマージが優れている理由は何ですか?
分散型 VCS (git、mercurial など) の多くは、Subversion などの従来の VCS よりもマージが優れていると聞いています。これは何を意味するのでしょうか?合併をより良くするために、彼らはどのようなことをしていますか? これらのことは、従来の VCS で実行できますか?
おまけの質問: SVN 1.5 のマージ トラッキングは、競技場を平準化しますか?
merge - ファイル変更時の編集バッファマージ
多くの編集者は、ファイルが変更されたときに気付くでしょう。ファイルの編集内容を保存していない場合に、3 方向のマージを実行できるエディタはありますか?
これの一般的なシナリオは、SVN を更新する前にファイルを保存するのを忘れて、エディターに戻ったときに、今行った更新を踏むか、変更を破棄するか、コピーを実行するかを選択できることに気付くことです。 /paste/external-diff-tool 歌と踊り。
はい、更新前の正しい解決策はctrl + sであることは知っていますが、私は人間であり、問題を台無しにした後、問題を解決するための本当に簡単な解決策が必要です。