【Xcode】Gitの連携方法と使い方!バージョン管理方法

この記事からわかること

  • XcodeGit連携方法
  • コミットプッシュプルなどの使い方
  • iOSプロジェクトバージョン管理

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

分散型バージョン管理システム「Git」をiOSやmacOSアプリ開発用の統合開発環境である「Xcode」から操作する方法をまとめていきます。また各操作に対応するコマンドも載せておきます。

XcodeからGitを操作する

ソフトウェアなどのバージョン管理に長けたGitはコマンドライン(ターミナル)を使用(CUI)して操作するのが一般的ですが、XcodeではGUI操作でGitを操作できるようになっています。

コミットするファイルの中身を確認できたり、コンフリクトした際も見やすい操作で解消することが可能になっています。またGitHubとの連携も可能になっているのでリモートリポジトリの作成からGitHub上へアップロードまでの流れをXcodeから行うことができます。

おすすめ記事:【Swift】GitHubへiOSアプリプロジェクトをアップロードする方法!Xcodeとの連携

連携の流れ

XcodeとGitを連携させる流れを確認してみます。

  1. Gitのインストールとユーザー設定
  2. Xcodeからローカルリポジトリの作成

Gitのインストールとユーザー設定

Gitの利用にはPCへのインストールとユーザー登録が必要になります。

インストールにはバージョンを確認する以下のコマンドを実行します。インストール済みであれば現在のバージョンが、未導入であればインストールへと促してくれます。

$ git --version
git version 2.30.1 (Apple Git-130) 

インストールが完了したら以下のコマンドで任意の値を渡してユーザー設定を済ませておきます

$ git config --global user.name "ユーザー名"
$ git config --global user.email "メールアドレス"

詳しくは以下の記事をご覧ください。

おすすめ記事:【Git】インストール方法と使い方!リポジトリの違いと作成方法!

Xcodeからローカルリポジトリの作成

ここからはターミナルを使用せずXcodeを操作していきます。

Xcodeのユーザー登録画面

Xcodeからプロジェクトを作成する際に「Create Git repository on my Mac」に チェックを入れることで該当のプロジェクトに対してGitによる監視が始まり、ローカルリポジトリが作成されます。

Xcode/Swiftをgitを使用して開発する

対応コマンド

$ git init

途中でローカルリポジトリを作成する

もし最初にチェックを入れ忘れてしまっても後からローカルリポジトリを作成することもできます。Xcodeの上部メニューから「Source Control」>「New Git Repositories...」をクリックします。

【Swift】GitHubへiOSアプリプロジェクトをアップロードする方法!Xcodeとの連携

Create」をクリックすればローカルリポジトリを作成することができます。

【Swift】GitHubへiOSアプリプロジェクトをアップロードする方法!Xcodeとの連携

ファイル横の文字の意味

Gitでの監視をオンにした状態のまま、開発をしているとファイル名の横に「M」や「A」などの文字がつきます。これはファイルに対して「Modification(変更)」と「Add(追加)」、「Replace(置換/移動)」したという意味を表す文字になります。

Xcode/Swiftをgitを使用して開発する流れでプロジェクトを開いた画面

この文字はコミットされていないファイルに対して付与されていくので、コミットするとリセットされます。

?」と表示されているファイルはGitに認識されていないファイルです。「.gitignore」ファイルに記述されているファイルなどが該当します。

XcodeからGitの操作

続いてXcodeからGitを操作する方法をまとめていきます。

Xcode内でGit操作を可能にしているのはXcode左のナビゲータエリアの左から2つ目のアイコン(Source Control)です。

Xcode/Swiftをgitのローカルリポジトリを操作する様子

クリックしてみると「Branches」や「Remotes」などGit/GitHubに絡んだ用語が出てきているのがわかると思います。

項目

  1. Branches:ブランチ管理
  2. Recent Locations:最近使用したリポジトリのリストが表示
  3. Tags:タグ管理
  4. Stashed Changes:スタッシュ(※)管理
  5. Remotes:リモートリポジトリ管理

※スタッシュとは変更内容を一時的に保存するために便利なGitの機能のこと

Xcodeの上部メニュー>Source Controlから操作する

Xcodeの上部メニュー>「Source Control」からでもGit操作が可能になっています。

Xcode/Swiftをgitのローカルリポジトリにコミットする

項目

  1. Commit...:コミット
  2. Push...:プッシュ
  3. Pull...:プル
  4. Fetch Changes:フェッチ(リモートから最新の変更履歴をダウンロード)
  5. Refresh File Status...:ファイルステータス更新
  6. Cherry-Pick...:Cherry-Pick(コミットの変更内容を別のブランチに取り込む)
  7. Stash Changes...:スタッシュ管理
  8. Discard All Changes...:全ての変更内容を破棄してファイルを元の状態に戻す
  9. New Git Repositories...:リポジトリ作成
  10. Clone...:クローン

ターミナルから操作する

XcodeからGitを操作できるインターフェースが用意されていますが、もちろん従来通りターミナルからGitを操作することも可能です。その際はプロジェクトのパスにカレントディレクトリを合わせることを忘れないようにしてください。

$ cd プロジェクトパス

変更をコミットする

対応コマンド

$ git commit -m “コメント”

変更内容をコミットするにはXcodeの上部メニューから「Source Control」>「Commit」をクリックもしくはCommand + Option + Cを押します。

Xcode/Swiftをgitのローカルリポジトリにコミットする

すると以下のような画面になります。この画面ではコミット対象ファイルがチェックされた状態で左側に表示され、ファイルをクリックすると前回のコミットからの変更点が表示されます。コミットしたくないファイルがある場合はチェックを外すか「.gitignore」ファイルに記述しておきましょう。

おすすめ記事:【Xcode/Git】.gitignoreファイルの設定方法!役割や反映されない解決法とは?

問題がなければ下側にコミットの際のコメント(今回はFirst Commit)を入力し、右下の「Commit File」をクリックすればコミット完了です。

Xcode/Swiftをgitのローカルリポジトリにコミットする

コミットの履歴を確認する

対応コマンド

$ git log

コミットの履歴はナビゲータエリアの2つ目のアイコンから確認できます。その中の「Branches」>「main」を見てみるとコミット履歴が表示されています。

Xcode/Swiftをgitのローカルリポジトリにコミット履歴を確認する

Xcodeでは初回に自動で一度コミットされているので「Initial Commit」が既に履歴として残っています。

私のブランチ名がmainなのは「Black Lives Matter」(BLM)運動への配慮としてmainに変えているからです。

直前のコミットを取り消す

コミットを取り消すにはターミナルからresetコマンドを実行します。

$ git reset --soft HEAD^

例えば上記のコードでは--softはコミットのみを取り消して変更されたファイルはそのままにするオプションとコミット指定にHEAD^を指定し直前のコミットのみ取り消しています。

ブランチの作成

対応コマンド

 $ git branch ブランチ名
【Xcode】Gitの連携方法と使い方!バージョン管理方法

ナビゲータエリアの2つ目のアイコン>「Branches」からブランチを右クリックして、「New Branch for ブランチ名」を選択します。

ブランチの切り替え

対応コマンド

$ git checkout ブランチ名
$ git switch ブランチ名

ナビゲータエリアの2つ目のアイコン>「Branches」からブランチを右クリックして、「Switch...」を選択します。

currentがついてるブランチが現在のブランチです。

ブランチの削除

対応コマンド

$ git branch -d ブランチ名

ナビゲータエリアの2つ目のアイコン>「Branches」から削除したいブランチを右クリックして、「Delete...」を選択します。

ブランチのマージ

対応コマンド

$ git merge 統合したいブランチ名

ナビゲータエリアの2つ目のアイコン>「Branches」からマージしたいブランチを右クリックして、「Merge "ブランチ名" into "カレントブランチ名"...」を選択します。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index