【Xcode】Gitで新しいブランチ作成/マージをする【Gitの使い方】

Xcode

Xcode上でGitを使いたいけど、どうやったらいいかわからない、なんてことありませんか?

この記事では、

  • Xcodeでのブランチ作成、切替方法
  • Xcodeでのマージ方法

をわかりやすく解説します。

Xcodeでバージョン管理をしたい人は、ぜひチェックしてください!

こんな人にオススメ!
  • XcodeでのGitの使い方を知りたい人
  • Gitの基本についてはある程度知っている人
    • この記事では、Gitそのものについては解説しません
動作確認環境
  • macOS Sequoia 15.4.1
  • Xcode 16.2
この記事のポイント
  • ソースコントロールナビゲーターのrepositoriesからブランチ作成やマージをする
  • マージコミットを必ず作りたい場合は、git config merge.ff falseを設定する
Contents

Xcodeでブランチやコミット履歴を確認するには?

ソースコントロールナビゲーターからRepositoriesを選択する

Gitでバージョン管理されているXcodeのプロジェクトを開き、ソースコントロールナビゲーターからRepogitoriesを選択すると、ブランチやコミット履歴を確認できる画面になります。

ソースコントロールナビゲーターからRepositoryを選択
ソースコントロールナビゲーターからRepositoriesを選択

ブランチの作成や切替をするには?

ブランチやコミットを右クリックして「New Branch from “xxx”」を選択する

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

.ブランチを指定して新規作成
ブランチを指定して新規作成
コミットを指定して新規作成
コミットを指定して新規作成

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

ブランチ名を入力
ブランチ名を入力

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

ブランチを階層化
ブランチを階層化

ブランチを右クリックして「Switch …」でブランチを切り替える

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

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でマージ操作を行うとコンフリクトがなくてもマージコミットが作成されます。

マージコミットが作成される
マージコミットが作成される
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

Contents