2016-10-13 3 views
0

私はXcodeで自分のアプリケーション用の機能を開発しています。 master-branchを私の安定した/プロダクション可能なブランチとして使用します。私がフィーチャーを作ったとき、私はfeature-branchを始めました。私が使用しているこの特定の機能ブランチは、大きなコミット(30以上のコミット)を受けていましたが、現在私がmaster-branchにマージしようとすると、Xcodeはさまざまなファイルとの競合があってマージが実行できないと伝えます。競合を解決するオプションはありません。Xcodeのマスターブランチを現在の「機能ブランチ」に置き換えることは可能ですか?

私はXcode 8.0を使用しています。この時点でfeature-branchは、master-branchよりはるかに先行しており、プロダクションの準備が整いました。私は新しい機能の作業を始めたいと思いますが、現在の機能ブランチからより多くのブランチを作成して混乱を起こしたくありません。私が考えることができるのは、master-branchを私のfeature-branchに完全に置き換えることだけですが、これも可能ですか?もしそうなら、どのように?

Xcode、Appleのドキュメントまたはスタックで何も見つかりませんでした。アドバイスありがとう!

+0

gitをコマンドラインから使用することはできませんか?この回答を使用してブランチを手動で置き換えることができます:http:// stackoverflow。com/questions/2763006/change-the-current-branch-to-master-in-git – Dekker

答えて

1

ここで行うべきことは、master-branchfeature-branchにマージすることです。あなたの葛藤を修正してください。テストして、動作することを確認します。すべてが良いと確信したら、feature-branchmaster-branchに戻してください。

この間も、必要に応じてmaster-branchで作業することができます。しかし、より多くの紛争が発生する可能性があることに留意してください。その場合は、master-branch - >feature-branch - >master-branchとします。ここで、 " - >"はマージを表します。

私は実際に解決するためにXcodeを使用しませんが、これを行う方法を示すためにそこには多くのリソースがあります。

+0

私の愚かなので、答えに感謝します。私がやらなければならなかったのは、masterブランチに行き、Source Control-> Project-> FROMブランチをマージ - > featureブランチを選択することでした。 – MikeG

+1

ところで、私はブランチへのマージを行ってから、マージします。好みの問題。あなたはフィーチャーからマスターにまっすぐに行きました。 gitではマージを元に戻すことができますので、実際には問題になりません。しかし、私がやったチームは、私が規定した方法のようです。 –

2

私は同様の状況がありましたが、Xcodeのソース管理では "ツリーの競合"のためにブランチをマージできませんでした。それはちょうど掛かった。私はバックアップを持っていたので、私はもうプロジェクトを開くことができませんでした。

私のバックアップからプロジェクトを復元した後、私は、Masterブランチを私のDevelopmentブランチに置き換えるために以下を行いました。

  1. Xcodeで私はソース管理 - >作業コピーに行き、自分の開発ブランチを作業コピーとして選択しました。ソース管理下に
  2. 、私はすべての保留中のコミットた作業コピーのセクションでソース管理で
  3. を変更し、私は右と選択設定プロジェクト名
  4. にメニューを展開するために開発枝の上に浮かびました
  5. [設定]ウィンドウの上部で、ブランチを選択しました
  6. 私はマスターブランチを選択し、下の記号をクリックして削除したいことを確認しました。
  7. ソース管理に戻って、作業コピーセクションの開発ブランチに移動し、右側に展開したメニューから新しいブランチを選択しました。
  8. 新しいブランチに「Master」という名前を付けました。これはマスターを現在の支店にしました。
  9. ソース管理に戻り、現在のブランチを開発ブランチに戻したとき。
関連する問題