問題タブ [automerge]

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.

0 投票する
1 に答える
228 参照

git - Git で一貫して 1 つのファイルが正しくマージされない

git のマージ機能で、これまで見たことのない奇妙な問題が発生しています。ブランチからいくつかの変更をマージしていますがmaster、git は特定の 1 つのファイルで一貫して問題を抱えているようです。

これは基本的に、一見ランダムな場所にコンテンツをマージすることです。このファイルがマージされたのは、過去数回です。

MyFile.cs他のブランチ ( と呼ばれるsomebranch)に加えた変更は次のとおりです。

ほんの数行のコードです。

それで、私はこれをしました:

そのほとんどは、競合することなくマージされます。いくつかのファイルには競合がありますが、意味があります。しかし、それが行った自動マージの変更MyFile.csは奇妙です。たとえば、次の行

masterのバージョンの途中でランダムな場所にスタックしていましたMyFile.cs:

git が 2 つのファイルをマージする方法をどのように決定するかはわかりませんが、以前にこれを行うのを見たことがありません。そして、それはこの1つのファイルでのみ発生します。

変更をマージする場所と実際に変更をマージしている場所は、100 行強離れています。ただし、このファイルはほぼ 5000 行の長さなので、相対的に言えばそれほどかけ離れたものではありませんが、それでも奇妙です。

なぜこれが起こっているのか、それについて何ができるのか考えていますか? これは頻繁に使用されるファイルであるため、常にマージされます。開発の最後の年かそこらで問題になったことは一度もないので、何が変わったのかはわかりませんが、それに対処することは素晴らしいことです.

0 投票する
1 に答える
1803 参照

git - gitで自動マージされたファイルのみを一覧表示する方法

プルした後、自動マージされたファイルのみを git に一覧表示するコマンドはありますか。自動マージは、コードを監視することを強制していません。自動マージされたファイルを明示的にチェックする必要がありました。

Git は、変更されたファイルを一般的に 3 つのタイプに混同して登録します。新しいファイルが来るか、古いファイルが削除され、自動マージされ、競合します.gitが内部的に自動マージされたファイルを識別する場合、自動マージされたファイルのみをリストするコマンドがあると思いました.ちなみに、マージコミットの前にこのリストを取得したい.

0 投票する
2 に答える
767 参照

git - Teamcity の自動マージで宛先ブランチが見つかりません

teamcity ビルドの変更の自動マージを設定しようとしています。TeamCity Professional 9.1.6 (ビルド 37459)

ブランチ release/* のすべての変更を次のブランチにマージしたい:

VCS ルート仕様:

デフォルトのブランチ

分岐仕様

自動マージ:

ブランチでビルドを見る

ブランチにマージ

エラーが発生します:

自動マージに失敗しました: マージ先のブランチが見つかりません: VCS ルート ブランチの仕様に従って、VCS ブランチが「develop-automerge」論理ブランチ名にマップされていません

私はまた、ブランチ仕様に開発自動マージを含めてみました:

分岐仕様

ブランチdevelop-automergeが存在し、このブランチのビルドがあります。

release/* でのビルド後に同じエラー メッセージが表示される

この設定の何が問題になっていますか?

0 投票する
2 に答える
626 参照

tfs - TFS 自動マージで間違ったコードが選択される

私たちは、TFS Express 2012 を使用する小さなチームです。変更セットを別のブランチにマージしているときに、競合が発生しました。競合を解決するためにマージ ツールを選択したとき、競合の一部が古いコードで自動マージされていることに気付きました。この問題の原因は何ですか。詳細は次
のとおりです。Dev は 2 に分岐しています: release と feature1。開発者 A は、feature1 を分岐したときに dev でいくつかの開発を行い、release.developer B は feature1 の作業を開始しました。開発者 A は、同時に dev の作業を続けます。feature1 が完了したら、dev にマージします。ここまで問題ありません。開発からリリースへの変更をマージしたい場合、開発者 A のコードで競合が発生し、自動マージは新しいコードを持つ開発ではなく、リリースからコードを選択します。そのため、リリース開発者は新しいコードを失います

0 投票する
2 に答える
548 参照

git - Gitが特定の行を同じ変更で自動マージするのを防ぐ方法

バージョン番号が 2 つのブランチで増加するファイルがある場合、Git がバージョンを定義する行を変更する 2 つの行をサイレントに自動マージするのを防ぐにはどうすればよいですか?

私たちの場合、移行をサポートするデータベース スキーマがあります。メイン スキーマ ファイルは、現在のスキーマ バージョンを定義します。2 人がスキーマを変更した場合 (データベース列を追加するなど)、異なるテーブルで両方ともスキーマのバージョンを+1増やした場合、 Git は何も言わずにすべてをマージしますが、結果は壊れます。

Git がこの特定の行を自動マージしないようにする任意の行に追加する特別なマーカーを用意することをお勧めします。私が知らないこのような機能はありますか、またはどのように達成できますか?

問題を説明する Git 履歴の例を作成するためのシェル コマンドのリストを次に示します。

0 投票する
1 に答える
42 参照

git - マージ競合はマージ後にくっつきます

一貫性のない行にある 2 つのマージ競合を生成する 2 つのブランチを git マージすると、自動マージによって生成される出力に、複数の同等の行を含む 1 つの競合しか表示されないのはなぜだろうか。

以下は、マージ後の出力を示しています。

私は次のようなものを期待します: