競合する Git リベースの途中で「それらの」変更を取得するにはどうすればよいでしょうか? 質問する

競合する Git リベースの途中で「それらの」変更を取得するにはどうすればよいでしょうか? 質問する

feature_xから分岐した競合するブランチがありますmain

feature_x現在の をリベースするときにmain、競合を解決しながら、一部の(すべてではない)「それらの」(つまり) ファイルをそのまま使用することにしましたmain。どうすればいいでしょうか?

私は試した:

git checkout main:foo/bar.java
fatal: reference is not a tree: TS-modules-tmp:foo/bar.java
  
git checkout refs/heads/main:foo/bar.java
fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java

ベストアンサー1

使用したいもの:

git checkout --ours foo/bar.java
git add foo/bar.java

ブランチをfeature_xに対してリベースする場合main(つまり、git rebase mainブランチ で実行している場合feature_x)、リベース中はを、は をours参照します。maintheirsfeature_x

で指摘したように、git-rebase ドキュメント:

リベース マージは、作業ブランチからの各コミットをブランチの先頭で再生することによって機能することに注意してください。このため、マージ競合が発生すると、私たちのものとして報告される側は、<upstream> から始まる、これまでにリベースされたシリーズであり、彼らの側は作業ブランチです。つまり、側が入れ替わっています。

詳細はこのスレッドを読む

おすすめ記事