XcodeをGitHub連携する

最近Udemyでこちらの講座を受講し始めました。

www.udemy.com

アウトプット用に自分でも何か作らないとなぁと思い、ひとまずXcodeGitHubの連携を行いました。

動作環境

macOS Monterey 12.4
Git 2.32.1
Xcode 13.4.1

1. ローカルリポジトリ作成

①新規プロジェクトを作成

「Create a new Xcode project」をクリック

どのようなアプリケーションを作成するのかを選びます。
今回は特に何もいじらずに「Next」

「Product Name」を入力して「Next」
今回は「GitSample」としました。

次にプロジェクトの保管場所を聞かれるので、好きな場所を指定して「Create」を選択してください。 この時「Create Git repository on my Mac」にチェックを入れるとXcodeが自動でローカルリポジトリを作成してくれます。

XcodeにGitの設定をする

初期状態だとローカルリポジトリの作成に失敗してしまうので、「Fix...」を選んでGitの設定をしましょう。

Author NameとAuthor EmailにそれぞれGitHubのユーザー名、GitHubに登録したメールアドレスを入力します。 他はお好みで設定してください。

こちらの設定は「Xcode > Preferences > Source Control > Git」から行うこともできます。

③ローカルリポジトリ作成

ここまで行うとローカルリポジトリの作成ができるようになるので、作成していきましょう。 「Source Control」から「New Git Repositories...」を選択します。

「Create」を選択するとローカルリポジトリが作成されます。

④ローカルリポジトリが作成されているか確認

「Show the Source Control navigator」を選択して、「Repositories」のところに画像のように表示されていればローカルリポジトリが作成できています。

2. .gitignoreを追加

①.gitignoreファイルを追加

まず「Show the Project navigator」をクリックします。そして画像のようにプロジェクトネームを右クリックし、「New File...」を選択してください。

下の方からEmptyを選んで「Next」

「Save As」のところに「.gitignore」と入力して「Create」

画像のような警告が表示されると思うので、「Use "."」を選択しましょう。

これで.gitignoreファイルが作成されるので、開いて中身を編集しましょう。 私はこちらに記載されているものを使わせていただきました。

qiita.com

.gitignoreを編集できたら一度コミットしておきましょう。 「Source Control > Commit...」を選択してください。

下の画像のような画面が表示されるので、コミットメッセージを入力してコミットしてください。

②既にコミットされてしまっているファイルをgitignoreの対象に含める

おそらくローカルリポジトリを作成した段階でこんな感じでInitial Commitが作成されていると思います。

そのため.gitignoreに設定を追加しただけではignoreされないので、ターミナルから下記コマンドを実行しましょう。

$ cd [プロジェクトが保存されているディレクトリ]
$ git rm -r --cached .
$ git add .

git rm -r --cached .で一時的に全てのファイルをgitの対象から外すことができます。
その後にgit add .とすることで、.gitignoreで指定したファイルのみを除外することができます。

この状態で下記コマンドを実行することで、先ほど.gitignoreを追加した際のコミットに変更を追加できます。

$ git commit --amend --no-edit

これで.gitignoreの追加は完了です。

3. リモートリポジトリ作成

GitHubアカウントと連携

リモートリポジトリを作成するにはGitHubのアカウントと連携する必要があります。
その際にアカウント名とトークンを要求されるので、まずはGitHubトークンを取得しましょう。

右上から「Settings」を選択

下の方の「Developer Settings」をクリック

「Personal access tokens」から「Generate new token」をクリック

「Note」にはわかりやすい名前などを入力し、「Expiration」は「No expiration」を選択します。
「Select scopes」は「repo」にチェックを入れてください。「repo」を選択しないとリモートリポジトリへのpushなどができなくなります。

「Generate token」をクリックするとトークンが表示されるのでテキストエディターなどにコピーしておきましょう。

次にXcodeの方でアカウントを追加していきます。 「Xcode > Preferences > Accounts」からアカウントを追加しましょう。「+」をクリックしてください。

GitHub」を選択して「Continue」をクリックします。

GitHubのアカウント名と先ほど取得したトークンを入力して「Sign in」をクリックします。

うまくサインインができればGitHubアカウントとの連携は完了です。

②リモートリポジトリを作成

まずはローカルリポジトリが作成されているか確認した時と同じように「Show the Source Control navigator」をクリックして「Repositories」を選択してください。
その中のプロジェクトネームを右クリックして、「New "[Project Name]" Remote」を選択します。

「Create」をクリックするとリモートリポジトリが作成されます。

画像のように「origin」と表示されていればリモートリポジトリ作成成功です。

うまくいけばこれでリモートリポジトリへのpushまで行われるかと思います。

以上でXcodeGitHubの連携は完了です。お疲れさまでした。