1

私はマスターにマージしたいブランチrelease-x.x.xを持っています。しかし、私はプルリクエストを行うと、何百ものマージの競合があります。これは私が行ったSwift 3の移行によるものだと思います。どちらの方法でも、masterにマージされたときに、すべてのバージョンのファイルをrelease-x.x.xに使用したいと考えています。私はcheckout release-x.x.xgit merge -s recursive -X ours masterをしました。私は逆にしているので、release-x.x.xで競合を解消してからmasterにプルリクエストを作成し、すべてのコミット履歴を保持します。追加および削除された競合の解決Git

私はgit statusを実行すると、これは出力の一部です:

added by us:  Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/FirebaseCrash 
added by us:  Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/Headers/FIRCrashLog.h 
added by us:  Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/Headers/FirebaseCrash.h 
added by us:  Pods/FirebaseCrash/Frameworks/frameworks/FirebaseCrash.framework/Modules/module.modulemap 
deleted by them: Pods/FirebaseCrash/README.md 
deleted by them: Pods/FirebaseCrash/batch-upload 
deleted by them: Pods/FirebaseCrash/upload-sym 
deleted by them: Pods/FirebaseCrash/upload-sym-util.bash 
deleted by us: Pods/FirebaseInstanceID/CHANGELOG.md 
added by us:  Pods/Intercom/Intercom/Intercom.framework/Versions/A/Intercom 
both added:  MyProject/Base.lproj/Localizable.stringsdict 
both deleted: MyProject/Localizable.stringsdict 
both added:  MyProject/en-HK.lproj/Localizable.stringsdict 

私は、私はadded by usで何かを維持したいと仮定both addedともdeleted by themマーク何かを保つので、私はこれらのファイルを上演してきました。 deleted by usboth deletedをどのように扱うのですか?私がgit rm Pods/FirebaseInstanceID/CHANGELOG.mdを試してみたら、Pods/FirebaseInstanceID/CHANGELOG.md: needs mergeというエラーが出ます。私はここで正しい道にいますか?

答えて

2

はい、あなたは正しい軌道に乗っています。指定した方法でマージを解決するには、git rmdeleted by usまたはboth deletedとマークされているファイルが必要です。

エラーneeds mergeは警告に過ぎません。私はマージの一の側で削除されたファイルにgit rm <file>を実行すると、私が手:

<file>: needs merge 
rm '<file>' 

とその後のgit statusは、ファイルが削除されている(と削除が上演された)ことを示しています。

関連する問題