問題タブ [git-merge-conflict]
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 Conflict -- 誤検知を示す
マージしようとするとファイルが競合していると Git が言う問題に遭遇していますが、競合を解決しようとすると競合はありません。ローカルとリモートの両方が同じ場合に、Git がそれを競合と見なすのはなぜですか? Git にこれを自動的に解決させる方法はありますか?
OS: Windows8
Git バージョン: 1.9.5
git - Meld diffツールの3つのウィンドウを理解するのを手伝ってくれる人はいますか
使っMeld
ているうちに縦横3つ見えてきます
左側Test.txt.LOCAL.10512.txt
真ん中Test.txt
右にTest.txt.REMOTE.10512.txt
これらの3つのウィンドウを理解するのを手伝ってくれる人はいますか? そして、どれを最終的なマージされたファイルと見なす必要がありますか? これに関してインターネット上で何も見つけることができません。
git - 別の解決ブランチを使用して Git 競合解決を行う方法は?
ローカルに次のブランチがあります。
- 主人
- ブランチ-a
- ブランチ-b
- ブランチ-c
- 開発者
branch-a (PRA-1)、branch-b (PRB-1)、branch-c (PRC-1) の PR (Pull Request) を作成しました。私の同僚は私のコードのレビューを終えました。ブランチ a、ブランチ b、ブランチ c が競合することがわかっているので、競合解決ブランチを作成します。
マスターからの競合解決に基づいて、競合を解決しながらブランチ-a、ブランチ-b、ブランチ-cをマージし続けます。次に、すべてが完了したら、この競合解決ブランチをブランチ-a、ブランチ-b、ブランチ-c にマージします。
私の最初のプル リクエストがコード レビューされたので、同僚にブランチ a (PRA-2)、ブランチ b (PRB-2)、およびブランチ c (PRC-2) のそれぞれの秒で競合解決をレビューしてもらいたいプルリクエスト。
git - git rebase の競合で「HEAD」が見つかりませんか?
コミットを無効にするためにリベースしようとしていますが、競合が発生します:
次に、競合を見つけるために次のことを行います。
Python ファイルのみを変更したことがわかっているので、*.py
グロビングを使用します。しかし、結果は表示されません!問題が何であるかを正確に見つける方法はありますか?
git status
、およびgit diff
両方ともクリーンです。
git - ファイルに競合のマークを付けるにはどうすればよいですか
私は別の開発者と一緒にプロジェクトに取り組んでおり、彼は最近、競合して未解決のファイルをコミットしてプッシュしました。
さらに、彼はこのファイルをメイン ブランチにマージしました。今日、何度もコミット、プッシュ、マージした後、ビルドしようとしていることに気づきました。
ソフト リセットを使用してブランチに戻りましたが、ファイルを競合としてマークすることができません。
何か方法はありますか?
注:このファイルは docx のようなもので、特定のエディターでのみ開いて編集できることに注意してください。Notepad ++で開くことができず、競合を手動で解決してコミットし直すことができません。
git - 変更のないリベースが失敗するのはなぜですか?
私は今ではかなりの歴史を持つ git リポジトリを持っています。初期のコミットでいくつかの変更を加えようとしていたところ、奇妙な競合が見つかりました。
git rebase COMMIT^ を実行して初期のものの 1 つを選択すると、すべてのコミットを選択するなど、リストに何も触れずに、まだモーションを通過し、すべてのコミットをリプレイし、説明できないことがわかりました。私には、いくつか失敗します。
これはどのように可能ですか?すべてのコミットが選択されたために履歴が変更されていない場合、どうして失敗するのでしょうか?
git - git でのマージ競合中に 1 つのブランチからすべての変更を取得する方法はありますか?
バージョン管理には git を使用し、GUI クライアントには sourcetree を使用しています。最近、ブランチをマスターブランチにマージしましたが、競合が発生しました。競合中に別のブランチからのすべての変更が必要だと確信しています。競合を 1 つずつ手作業で解決するのではなく、すべての変更を別のブランチから取得する方法はありますか?
git - gemlock で aptana と Git バンドラーが競合する
次のような競合を解決するにはどうすればよいですか
プルして他のブランチにマージするたびに、私のgemlockファイルで。
また、その前に stash の適用を中止します。
git - Git Cherry Pick の競合について
最近、SVN から GIT に切り替えましたが、以前のワークフローの変換に問題があります。ほとんどすべてが機能しますが、今日は奇妙なチェリーピックの競合が発生しました。
競合を解決することはできますが、これがどこから来たのかを知りたいです。私の理解では、この状況では競合が発生するべきではないからです。
設定
私たちのリポジトリには、master
開発するブランチがあります。年に 4 回、新しいバージョンをリリースします。に分岐master
しRelease-x
、これはテスト後に出荷されます。
同時に複数のリリース バージョンを運用しています。バグが見つかった場合は、すべての (サポートされている) リリース ブランチで修正する必要があります。そのため、タグを使用してさまざまなリリースを識別する単一のリリース ブランチは、有効なワークフローではありません。
したがって、現在、次のブランチがあります: master
、Release-15Q1
、Release-15Q2
およびRelease-15Q3
たとえば、でバグの原因となるタイプミスを見つけたとmaster
します。それを修正してcherry-pick
からRelease-15Q1
、Release-15Q2
Release-15Q3
だから、今私が直面している紛争に:
ファイルは、分岐後properties.dat
に で変更されましたmaster
Release-15Q3
Properties.dat ( Release-15Q3
)
Properties.dat ( master
)
開発は進みました... すべて順調です。その後、バグを無効にするためにファイルに追加のプロパティを追加する必要があるバグに気付きました。
Properties.dat ( master
)
この修正コミットは、他の 3 つのブランチにも適用する必要があります。そこで、各ブランチに移動して、cherry-pick コマンドを使用します。
これにより、最初の 3 行で競合が発生しますが、その理由がよくわかりません。
チェリーピッキングでは、その特定のコミットのみを再生すると想定していたので、適切な場所にallowBug=false行を追加するだけです。ブランチをマージしていないので、他の変更が行われたかどうかは問題ではありませんよね?
なぜこれが競合を引き起こしているのですか?これらの他の変更は無視されるべきではありませんか?
git - 個々の親からの git diff を表示する
たとえば、マージの競合が表示され、なんとか修正できましたが、解決済みとしてマークされていません (つまり、git add
競合しているファイルをまだ処理していません)。この時点でgit diff
、結果のファイルが各親とどのように異なるかを、結合された diff 形式で表示できます。
これまでのところすべて順調です。ここで、結果ファイルが個々の親とどのように異なるかを個別に調べたいと思いました。確かに、2 つの親 (cherry-pick、rebase など) が関与するマージ競合の場合、 git diff --ours
orを使用できますgit diff --theirs
が、これをより多くの親に拡張するにはどうすればよいでしょうか?
つまり、3 人の親から競合が発生した場合、各親との個別の差分を表示することは可能ですか?
--ours
また、私の発見--theirs
はかなり偶然でした。差分コンテキストで文書化された使用法を見つけることができませんでした。