Xcode上でGitを使いたいけど、どうやったらいいかわからない、なんてことありませんか?
この記事では、
- Xcodeでのブランチ作成、切替方法
- Xcodeでのマージ方法
をわかりやすく解説します。
Xcodeでバージョン管理をしたい人は、ぜひチェックしてください!
- XcodeでのGitの使い方を知りたい人
- Gitの基本についてはある程度知っている人
- この記事では、Gitそのものについては解説しません
- macOS Sequoia 15.4.1
- Xcode 16.2
- ソースコントロールナビゲーターのrepositoriesからブランチ作成やマージをする
- マージコミットを必ず作りたい場合は、git config merge.ff falseを設定する
Xcodeでブランチやコミット履歴を確認するには?
ソースコントロールナビゲーターからRepositoriesを選択する
Gitでバージョン管理されているXcodeのプロジェクトを開き、ソースコントロールナビゲーターからRepogitoriesを選択すると、ブランチやコミット履歴を確認できる画面になります。

ブランチの作成や切替をするには?
ブランチやコミットを右クリックして「New Branch from “xxx”」を選択する
ブランチを新規作成するには、新規ブランチのベースとなるブランチやコミットを右クリックして、New Branch from “xxx”(xxxはブランチ名やコミットハッシュ)を選択します。


そうすると、新規ブランチの名前入力画面が表示されるので、名前を入力してCreateボタンを押せばブランチを作成できます。

また、ブランチ名を「aaa/bbb」のようにスラッシュで区切ると、ブランチをフォルダのように階層化して表示しれくれます。

ブランチを右クリックして「Switch …」でブランチを切り替える
カレントブランチを切り替えるには、切替先のブランチを右クリックしてSwitch …を選択します。そうすると確認画面が出るので、Switchボタンを押します。


このとき、現在のブランチに未コミットの変更がある場合、スタッシュ(一時保存)画面が表示されます。スタッシュコメントを入力してStash and Switchボタンを押しましょう。
スタッシュせず切替先のブランチにそのまま変更内容を適用したい場合は、Apply Stash After Operationにチェックを入れておきます。
なお、Apply … という表示になっていますが、実際にはStashしてApply(Stashは残る)ではなく、StashしてPop(Stashは残らない)という挙動のようです。

カレントブランチは、プロジェクト名の横に表示されます。

ブランチをマージするには?
マージ先ブランチをカレントにして、マージ元を右クリックし「Merge “aaa” into “bbb”」を選択
ブランチ「aaa」(マージ元)→ブランチ「bbb」(マージ先)のようにマージしたい場合、マージ先ブランチ「aaa」をカレントブランチにして、マージ元ブランチ「bbb」を右クリックしてMerge “aaa” into “bbb”を選択します。

必ずマージコミットを作りたい場合は、merge.ff=falseを設定する
Xcodeのマージ操作はデフォルトではfast-forwardで、GUI上からno-ffを選ぶことはできないようです。
そのため、コンフリクトしない場合でも必ずマージコミットを作る(–no-ffオプションでマージする)ためにはgit configでmerge.ff=falseを設定する必要があります。
その設定をするには、ターミナル上でコマンド操作をします(.git/configファイルを直接編集してもOK)
% cd "プロジェクトのパス"
% git config merge.ff false
この設定をしてからXcodeでマージ操作を行うとコンフリクトがなくてもマージコミットが作成されます。

コメント