6

xCode 4.5 でマージしようとしている 2 つのブランチがあります。競合する 2 つのファイルを解決して [マージ] ボタンを押すと、マージ画面が消え、エラーも発生せず、成功したように見えます。しかし、xCode 4.4 での以前の経験とは異なり、実際には何もコミットされていません。変更されたすべてのファイルを手動でコミットしようとすると、「致命的です。マージ中に部分的なコミットを行うことはできません」というエラーが表示されます。xCode 内で続行する方法は示されていません。

コマンドラインから git status を実行すると、次のようになります。2 つの「コミット用にステージングされていない」ファイルは、xCode で解決した競合のあるファイルです。別のツールを使用してマージを試すことができることはわかっていますが、xCode ユーティリティが気に入っています。これが確実に機能しなくなったら、ちょっとがっかりします。他の誰かがこの問題を見て解決しましたか?

# On branch ios6
# Changes to be committed:
#
#   modified:   Flurry/libFlurry.a
#   modified:   Network Commuting/Constants.h
#   modified:   Network Commuting/LegMapViewController.m
#   modified:   Network Commuting/Logging.h
#   modified:   Network Commuting/Nimbler Caltrain-Info.plist
#   modified:   Network Commuting/Plan.m
#   modified:   Network Commuting/PlanStore.m
#   modified:   Network Commuting/RouteDetailsViewController.h
#   modified:   Network Commuting/RouteDetailsViewController.m
#   modified:   Network Commuting/RouteOptionsViewController.m
#   modified:   Network Commuting/SettingInfoViewController.m
#   modified:   Network Commuting/TEXTConstant.h
#   renamed:    Network Commuting/TestFlightSDK1/TestFlight.h -> Network Commuting/TestFlightSDK1-1/TestFlight.h
#   new file:   Network Commuting/TestFlightSDK1-1/libTestFlight.a
#   deleted:    Network Commuting/TestFlightSDK1/README.txt
#   deleted:    Network Commuting/TestFlightSDK1/libTestFlight.a
#   deleted:    Network Commuting/TestFlightSDK1/release_notes.txt
#   modified:   Network Commuting/ToFromViewController.h
#   modified:   Network Commuting/ToFromViewController.m
#   modified:   Network Commuting/TransitCalendar.m
#   modified:   Network Commuting/nc_AppDelegate.h
#   modified:   Network Commuting/nc_AppDelegate.m
#   modified:   Network CommutingTests/Network_CommutingTests.h
#   modified:   Network CommutingTests/Network_CommutingTests.m
#   modified:   Nimbler Caltrain.xcodeproj/project.pbxproj
#   modified:   Nimbler Caltrain.xcodeproj/xcuserdata/apprikamac1.xcuserdatad/xcschemes/Nimbler CaltrainTests.xcscheme
#
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   deleted by us:      Network Commuting/DateTimeViewController.xib
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   Network Commuting/ToFromViewController.m
#   modified:   Nimbler Caltrain.xcodeproj/project.pbxproj
#
4

1 に答える 1

8

アプリをコーディングしている人が 3 人いるので、これは常に得られます。さまざまな人によるファイルの追加と削除の組み合わせに関連しているようですが、率直に言ってわかりません. たぶん git の第一人者がここでチャイムを鳴らしますが、これが私が物事を修正する方法です。

最初に Xcode でプロジェクトを閉じて Xcode を終了し、ターミナルでプロジェクトのルート ディレクトリに移動します。修正する必要のある競合するファイルに対して「git add」を実行します (誰が「add」を思いついたのでしょうか???)。

「git status」を実行して、すべてが正常に見えることを確認します。

魔法の呪文について: git commit -i -m "hoping and praying" .- 魔法のオプションは-i- これでコミットは常に成功します (私にとって)。

これで、Xcode を再起動してプロジェクトを再度開くことができます。

于 2012-09-23T13:17:15.890 に答える