問題タブ [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.
git - Git で一貫して 1 つのファイルが正しくマージされない
git のマージ機能で、これまで見たことのない奇妙な問題が発生しています。ブランチからいくつかの変更をマージしていますがmaster
、git は特定の 1 つのファイルで一貫して問題を抱えているようです。
これは基本的に、一見ランダムな場所にコンテンツをマージすることです。このファイルがマージされたのは、過去数回です。
MyFile.cs
他のブランチ ( と呼ばれるsomebranch
)に加えた変更は次のとおりです。
ほんの数行のコードです。
それで、私はこれをしました:
そのほとんどは、競合することなくマージされます。いくつかのファイルには競合がありますが、意味があります。しかし、それが行った自動マージの変更MyFile.cs
は奇妙です。たとえば、次の行
master
のバージョンの途中でランダムな場所にスタックしていましたMyFile.cs
:
git が 2 つのファイルをマージする方法をどのように決定するかはわかりませんが、以前にこれを行うのを見たことがありません。そして、それはこの1つのファイルでのみ発生します。
変更をマージする場所と実際に変更をマージしている場所は、100 行強離れています。ただし、このファイルはほぼ 5000 行の長さなので、相対的に言えばそれほどかけ離れたものではありませんが、それでも奇妙です。
なぜこれが起こっているのか、それについて何ができるのか考えていますか? これは頻繁に使用されるファイルであるため、常にマージされます。開発の最後の年かそこらで問題になったことは一度もないので、何が変わったのかはわかりませんが、それに対処することは素晴らしいことです.
git - gitで自動マージされたファイルのみを一覧表示する方法
プルした後、自動マージされたファイルのみを git に一覧表示するコマンドはありますか。自動マージは、コードを監視することを強制していません。自動マージされたファイルを明示的にチェックする必要がありました。
Git は、変更されたファイルを一般的に 3 つのタイプに混同して登録します。新しいファイルが来るか、古いファイルが削除され、自動マージされ、競合します.gitが内部的に自動マージされたファイルを識別する場合、自動マージされたファイルのみをリストするコマンドがあると思いました.ちなみに、マージコミットの前にこのリストを取得したい.
git - Teamcity の自動マージで宛先ブランチが見つかりません
teamcity ビルドの変更の自動マージを設定しようとしています。TeamCity Professional 9.1.6 (ビルド 37459)
ブランチ release/* のすべての変更を次のブランチにマージしたい:
VCS ルート仕様:
デフォルトのブランチ
分岐仕様
自動マージ:
ブランチでビルドを見る
ブランチにマージ
エラーが発生します:
自動マージに失敗しました: マージ先のブランチが見つかりません: VCS ルート ブランチの仕様に従って、VCS ブランチが「develop-automerge」論理ブランチ名にマップされていません
私はまた、ブランチ仕様に開発自動マージを含めてみました:
分岐仕様
ブランチdevelop-automerge
が存在し、このブランチのビルドがあります。
release/* でのビルド後に同じエラー メッセージが表示される
この設定の何が問題になっていますか?
tfs - TFS 自動マージで間違ったコードが選択される
私たちは、TFS Express 2012 を使用する小さなチームです。変更セットを別のブランチにマージしているときに、競合が発生しました。競合を解決するためにマージ ツールを選択したとき、競合の一部が古いコードで自動マージされていることに気付きました。この問題の原因は何ですか。詳細は次
のとおりです。Dev は 2 に分岐しています: release と feature1。開発者 A は、feature1 を分岐したときに dev でいくつかの開発を行い、release.developer B は feature1 の作業を開始しました。開発者 A は、同時に dev の作業を続けます。feature1 が完了したら、dev にマージします。ここまで問題ありません。開発からリリースへの変更をマージしたい場合、開発者 A のコードで競合が発生し、自動マージは新しいコードを持つ開発ではなく、リリースからコードを選択します。そのため、リリース開発者は新しいコードを失います
git - Gitが特定の行を同じ変更で自動マージするのを防ぐ方法
バージョン番号が 2 つのブランチで増加するファイルがある場合、Git がバージョンを定義する行を変更する 2 つの行をサイレントに自動マージするのを防ぐにはどうすればよいですか?
私たちの場合、移行をサポートするデータベース スキーマがあります。メイン スキーマ ファイルは、現在のスキーマ バージョンを定義します。2 人がスキーマを変更した場合 (データベース列を追加するなど)、異なるテーブルで両方ともスキーマのバージョンを+1増やした場合、 Git は何も言わずにすべてをマージしますが、結果は壊れます。
Git がこの特定の行を自動マージしないようにする任意の行に追加する特別なマーカーを用意することをお勧めします。私が知らないこのような機能はありますか、またはどのように達成できますか?
問題を説明する Git 履歴の例を作成するためのシェル コマンドのリストを次に示します。
git - マージ競合はマージ後にくっつきます
一貫性のない行にある 2 つのマージ競合を生成する 2 つのブランチを git マージすると、自動マージによって生成される出力に、複数の同等の行を含む 1 つの競合しか表示されないのはなぜだろうか。
以下は、マージ後の出力を示しています。
私は次のようなものを期待します: