XcodeでGitLabを使う手順が意外と見つからなかったのでまとめてみました。
本記事では、ローカルにあるXcodeのプロジェクトを、GitLabに新規登録する手順を解説します。
既にXcodeでgitを使っている事を前提としていますので、ローカルリポジトリの作成がまだの場合は、先にこちらの記事を参照してください。
環境
この記事の情報は次のバージョンで動作確認しています。
【GitLab】Enterprise Edition 11.7.0-ee
リモートリポジトリの作成
はじめにGitLab上にリモートリポジトリを作成します。
作成開始
GitLabにログインし、以下の手順で空のプロジェクトを作成します。
① メニューバーの「+」をクリックしてから
②「New Project」を選択
上記を実行すると、プロジェクト作成画面に遷移します。
プロジェクト作成画面
以下のようなプロジェクト作成画面が開いたら、必要な項目を入力して「Create Project」をクリックします。
任意のプロジェクト名を入力します。ローカルのプロジェクト名と同じでOKです。
日本語名も設定できます。
Project slug
プロジェクトのコードネームのようなものです。URLの一部として使われます。
通常はプロジェクト名と同じものがデフォルトで設定されますが、URLとして使えるよう空白は’-‘(ハイフン)に置き換えられます。
プロジェクト名に日本語を使った場合は、そのままURLにはできずにエラーとなるので、英数字の名前に置き換えてください。
Project description
プロジェクトの説明を入力します。
Visibility Level
次に示す3つのアクセスレベルから1つを選択します
Private・・・許可されたユーザーのみアクセス可能
Internal・・・GitLabにログインしている全ユーザがアクセス可能
Public・・・インターネット上の全てのユーザーがアクセス可能
リモートリポジトリURLのコピー
プロジェクトの作成に成功するとproject画面が開きますので、画面の右上の方にある「Clone」ボタンをクリックして、リポジトリのURLをコピーして下さい。コピーしたURLは以降の手順で使用します。
Xcodeからリモートリポジトリに接続
Xcodeから、先程作成したリモートリポジトリに接続します。
接続開始
Xcodeでローカルのプロジェクトを開き、次の手順で先程作成したリモートリポジトリに接続します。
①Navigation AreaのSource Controll navigaterで ②ローカルリポジトリを選択 ③メニューバーの「Editor」→「Add Exsting Remote…」を選択する
するとリモートリポジトリを指定する入力ダイアログが開きます。
リモートリポジトリの指定
次のダイアログで、接続するリモートリポジトリを指定します。
Remote Name: はリモートリポジトリを示す名前です。デフォルトでoriginが入っていますので、そのままでOKです。 Lcation:には先程コピーしたリモートリポジトリのURLを入力します。 Addをクリックすると通常は接続が完了します。
認証情報の入力
Xcodeから初めて対象のGitLabアカウントにアクセスする際には、下図のようなダイアログが出て、認証情報の入力を求められます。
認証情報には、Account(GitLabのユーザー名)の他にTokenと呼ばれる認証鍵が必要です。 TokenはあらかじめGitLab上で取得しておく必要があります。
取得手順はこちらの記事を参照してください。
一度サインインすると、Xcodeに認証情報が記録されるので、次回からはこのダイアログは出なくなります。
認証情報の確認方法
登録された認証情報はメニュー「Xcode」→「Preferences…」でダイアログを開き、「Accounts」タブを選択する事で確認可能です。
リモートリポジトリへのpush
XcodeからGitLabへの接続が完了したら、リモートリポジトリの更新(push)を実行してみましょう。 メーニューからコマンドを選択して実施する方法と、commitと同時に行う2種類の方法があります。
メニューから選んでプッシュ(Push)
「Source Control」メニューから「Push」を選択します。
次のダイアログでリモートブランチを選択して「Push」押下します。 デフォルトではローカルと同名のブランチが選択されますが、同名のブランチが存在しない場合は、下図のようにCreate(新規作成)されます。
コミット(commit)と同時にプッシュ(push)
commitと同時にpushするには、下のコミットコメント入力画面で左下にチェックを入れます。
これでcommitと同時にリモートリポジトリも更新されます。
まとめ
XcodeからGitLabのリモートリポジトリにpushする手順の解説でした。
本記事では何をしているか理解しやすいように、一旦GitLab上で作ったリポジトリに対してXcodeから接続していますが、実はXcodeから直接リモートリポジトリを生成する事も可能です。
慣れればそちらの方がXcodeだけで操作を完結できるので便利です。