3

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

を実行する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 usますboth deletedか? 試してみるgit rm Pods/FirebaseInstanceID/CHANGELOG.mdと、次のエラーが表示されますPods/FirebaseInstanceID/CHANGELOG.md: needs merge。私はここで正しい軌道に乗っていますか?

4

1 に答える 1

5

はい、あなたは正しい軌道に乗っています。git rm指定した方法でマージを解決するには、deleted by usまたはboth deleted.

エラーはneeds merge単なる警告です。git rm <file>マージで一方が削除したファイルを実行すると、次のようになります。

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

その後git status、ファイルが削除されたことを示します (および削除がステージングされました)。

于 2016-10-20T17:46:22.813 に答える