9

別の開発者と iPhone アプリケーションを開発しています。私たちの git リポジトリはリモート サーバーにあります。

そのため、作業コピーを操作してから、コミット、プル、プッシュを 1 つずつ実行し、ローカルの作業コピーをサーバーと同期させ、相互に同期させます。

今日まで、すべてがうまくいきました。他の開発者は自分の変更をリモート リポジトリに正常にプッシュしました。次は私の番です。コミットし、リモート リポジトリから変更をプルし、何らかの形でマージしてから、私の作業コピーをサーバーにプッシュします。

しかし、(xcode の組み込み git を使用して) 変更をプルしようとすると、 「"%reponame%" に 1 つ以上のツリー競合があるため、操作を実行できませんでした」というエラーが表示されます。

この問題を解決するプロセスを教えてください。また、今後この問題を回避するための役立つヒントを提供してください。

4

1 に答える 1

14

xcode は、リポジトリからプルするときに早送りマージを強制するオプションを使用していると思います。望ましくないマージを防ぐため、これは悪い考えではありません。

使用してみてくださいgit pull --rebase(xcodeの適切なチェックボックスをチェックしてください)、変更を削除し、新しいバージョンをダウンロードしてから、削除した変更を適用してください。最後のステップで競合が発生するので、それを解決して、その変更を再度コミットします。その後、それらをサーバーにプッシュできます。

于 2013-01-31T12:12:46.863 に答える