Git の基礎勉強 〜Xcodeから、Gitによるバージョン管理を使う〜

はじめに

ようこそ、分散バージョン管理「Git(ギット)」を、Macの統合開発環境である「Xcode」から利用するための基礎勉強です。Xcodeは、Mac、iPhone、iPadなど、Apple社製品向けのアプリケーションを作成する場合に必要となる、統合開発環境です。専用のGUIを備えており、GitもXcode内から直感的に扱うことが出来ます。

「Gitの基礎勉強〜Xcodeから、Gitによるバージョン管理を使う〜」では、Mac OS環境で Xcodeでの基本的なGitの使い方をご自身のマシンで動作させます。 Xcode はこのチュートリアルで説明している以外にも多くの機能を備えたパワフルなツールです。使いこなすためには文章を読むだけではなく実際に試すことがとても重要です。

このドキュメントにならってチュートリアルを実行することで、基本的な Xcode上でのGitの使い方を学習することができます。

このチュートリアルでは、Xcode の日本語版(XcodeVersion 11.4.1 )を利用して進めていきます。

レッスン 1. インストール

最初に Xcode が利用できるように環境を作ります。Xcode は、AppStore からダウンロードすることができます。

AppStoreアプリを開き、「Xcode」と検索してみてください。以下のような画面が見つかりますので、ダウンロードをしてください。

/bootcamp/wp-content/uploads/2020/04/appstore_xcode.png

Xcode のインストール

/bootcamp/wp-content/uploads/2020/04/xcode_terms.png

Xcode のインストールは「Agree」を押下すれば問題ありません。

/bootcamp/wp-content/uploads/2020/04/xcode_install_pass.png

インストールの許可が必要な場合がありますが、Mac自体のパスワードを入力してください。

/bootcamp/wp-content/uploads/2020/04/xcode_first_screen.png

こちらの画面が出たら、Xcodeのインストールは完了です。

gitの初期設定

まずはGitの初期設定を実行します。設定はコマンドラインで実行します。環境設定の内容については説明しませんが Git を利用するために必要な手順として以下を実行します。Macの「ターミナル」Appを立ち上げ、以下

Git はコミット時にユーザ名とメールアドレスを記録します。この設定は必須です。自分が利用するメールアドレスと名前を設定します。
以下の内容を、ターミナルで入力してください。

git config -–global user.email "メールアドレス"
git config -–global user.name “あなたの名前”
  • user.email … コミット時に利用されるメールアドレス
  • user.name … コミット時に利用される名前

日本語の文字化け対策で設定します。

git config -–global core.quotepath false

改行コードを Git が自動変換することを無効にします。

git config -–global core.autocrlf false

push コマンド時にブランチ名やタグ名を指定しない場合の標準動作を設定します。(安全のため)

git config -–global push.default upstream

レッスン 2. ローカルリポジトリを作成

これでXcodeでGitが利用できるようになりました。Xcodeを使い、Gitでソースコードのバージョン管理を行うためにはリポジトリを用意する必要があります。ですが、Xcodeでは、プロジェクトの作成時に、併せてローカルリポジトリを作成することができるようになっています。
以下の手順を参考にしてください。

リポジトリ: Git で管理されるソースコードやファイルを格納する場所のことです。この格納場所を作成しなければ開発に進むことはできません。通常リポジトリの作成作業はプロジェクトの最初に1回だけ実行します。

それでは、プロジェクトの新規作成から、併せてリポジトリを作成します

新規プロジェクトを作成します。「Create a new Xcode project」をクリックします。

/bootcamp/wp-content/uploads/2020/04/xcode_first_screen.png

次に、どのようなプロジェクトを作成するかを選択します。今回は、最もシンプルな「Single View App」を選択します。

/bootcamp/wp-content/uploads/2020/04/select_singleviewapp.png

プロジェクトに関しての情報入力を求められます。ここでは、サンプルですので、「Product Name」などの空欄を埋めるだけで良いです。

/bootcamp/wp-content/uploads/2020/04/create_new_project.png

次に、プロジェクトの保管場所を聞かれますので、任意のフォルダを指定してください。
また、この時「Create Git repository on my Mac」にチェックを入れるのを忘れないようにしてください。これにより、プロジェクトの作成と同時に、ローカルリポジトリも作成されます。

また、その際に先程のGitの初期設定がもし出来ていない場合、名前やemailの情報について、登録するように求められます。

/bootcamp/wp-content/uploads/2020/04/alart_settings.png

その場合、指示に従い、名前とemailの登録を表示された画面で実施してください。

/bootcamp/wp-content/uploads/2020/04/name_email_fix.png

以上で、プロジェクトの新規作成は完了です。以下の初期画面になっていれば大丈夫なので、次のステップに進んでください。

/bootcamp/wp-content/uploads/2020/04/Xcode_project_first_screen.png

最初のコミット

このあと、実際にXcodeを使って、ファイルの新規追加・編集・ファイル名変更・移動・削除などを行っていきますが、まずは初期状態をローカルリポジトリにコミットしておきましょう。

/bootcamp/wp-content/uploads/2020/04/1st_commit.png

Xcode のメニューの「Source Control」から「Commit」を選択します。

/bootcamp/wp-content/uploads/2020/04/choice_commit_file.png

Commitしたいファイルを選択します。(今回は初回なので、4ファイル全てにチェックを入れます。)
また、下の欄にコミットのメッセージを記入出来るので、「1st commit」など、どんな変更をしたかが分かる文言を入れます。
その後、右下の「Commit 4 file」をクリックします。

レッスン 3. 新しいファイルを作成・追加

ローカルリポジトリで開発を始めましょう。リポジトリには既にサンプルプロジェクトのファイルがいくつか存在していますが、ファイルを追加してみます。 以下のキャプチャに従って、新しいファイルを追加してみましょう。
まずは、「Test Project」のフォルダを右クリックし、「New File」を選択しましょう。

/bootcamp/wp-content/uploads/2020/04/add_new_file.png

次に、追加するファイルの種類を問われますので、選択します。(ここでは、「Cocoa Touch Class」を選択します。)

/bootcamp/wp-content/uploads/2020/04/select_type_of_add_file.png

「Next」を選択するとファイルの詳細設定を聞かれますので、記入してください。(ここでは、class名を聞かれているので、「test」と設定します。)

/bootcamp/wp-content/uploads/2020/04/choise_class_name.png

「Next」を選択するとファイルの保存場所を聞かれますので、プロジェクト内の任意の場所に保存してください。(ここでは、「test project」内に保存します。)

/bootcamp/wp-content/uploads/2020/04/where_to_add_newfile.png

「Create」押下でローカルリポジトリに「test.swift」ファイルが追加されました。
また、ファイル名の横を見ると「A」、フォルダ名の横を見ると「M」の文字が見えます。
これは、それぞれ「A=Add(追加)」「M=Modify(変更)」という意味になります。

/bootcamp/wp-content/uploads/2020/04/complete_add_file.png

これで新しいファイルをローカルリポジトリに追加し、コミットする準備が出来ました。 これだけでは、ローカルリポジトリに反映していません。コミットをしなければリポジトリに反映されません。

それでは、コミットを行います。先程の最初のコミットと同様に Xcode のメニューから操作します。

/bootcamp/wp-content/uploads/2020/04/2nd_commit.png

コミット用のウィンドウが立ち上がりますので、コミット時の変更内容を入力します。追加や変更があったファイルにチェックがついていますので、コメントを書いたらそのまま「Commit 2 file」を押下し、コミットします。

/bootcamp/wp-content/uploads/2020/04/commit_2file.png

コミットが完了しました。元のプロジェクト画面が表示されましたが、先程まであった「A」や「M」の文字が消えています。これで新しいファイルを追加し、ローカルリポジトリにコミットすることが出来ました。

/bootcamp/wp-content/uploads/2020/04/complete_2ndcommit.png

ノート

コミット時のコメントは何を残すべきか?

コミット時に変更内容を記録するメッセージ領域が表示されます。
コミットするときは必ずコミット内容を説明する内容を記述するようにすべきです。具体的に、機能追加なのか、バグ対応なのか、仕様変更による変更なのかを記載するべきです。
人間の記憶はとても曖昧で1,2ヶ月前の作業について何をやっていたかは覚えていても、日々のコードレベルの修正など覚えていないーー覚えておく必要も無いのでーー場合がほとんどです。
コミット時に修正内容を記録しておくことは、チームみんなのためであり、将来の自分のためでもアルのです。

レッスン 7. 新しいディレクトリを作成・追加

ディレクトリの追加やディレクトリに含まれるファイル群の追加をやっていきます。 やり方はファイルの追加と同じです。

フォルダa,bとbフォルダに1つのテキストファイルを作成します。

「NewGroup」を選択して、新たに「a」「b」のフォルダを作成し、「b」フォルダの中には、test2.swiftなど新規ファイルを作成します。

/bootcamp/wp-content/uploads/2020/05/add_folder2.png

作成が完了すると、また以下のように「M」や「A」といった表記が出ています。

/bootcamp/wp-content/uploads/2020/05/add_folder.png

フォルダaとフォルダbをリポジトリに追加するため、「Source Control」メニューから「Commit」コマンドを実行します。フォルダbにはテキストファイルが含まれていることに注意してください。

/bootcamp/wp-content/uploads/2020/05/add_folder_commit.png

コミット時のメッセージを記入し、「Commit 2 file」します。

/bootcamp/wp-content/uploads/2020/05/commit_folder.png

無事、「M」や「A」の文字が消え、コミットが完了しました。

/bootcamp/wp-content/uploads/2020/05/commit_folder_complete.png

レッスン 8. ファイルを更新

それでは、ファイルの中身を編集してバージョン管理システムの機能を見ていきましょう。追加した test.swift を開き、 コメントを追加します。


//comment add

ファイルを保存してください。 変更したファイルに「M」のマークがついています。

/bootcamp/wp-content/uploads/2020/05/change_file2.png

続いてコミットを行います。コミットは、「Source Control」メニューからだけでなく

もう一度同じファイル下部に以下の行を追加します。


//comment2 add

今編集しているファイルはリポジトリのファイルより新しい修正が追加されました。
コミットする前にその内容を確認します。今編集したファイルを見ると、追加された部分の左側に青い線が入っており、追加した部分がすぐに分かるようになっています。

/bootcamp/wp-content/uploads/2020/05/add_comment2.png

また、もう少し細かく修正した部分を確認したい場合は、画面右上のマークをクリックすると、画面が左右に分かれ、修正履歴がわかりやすくなります。

/bootcamp/wp-content/uploads/2020/05/see_diff_comment2.png

修正内容を確認したらコミットします。更新内容のログを忘れずに入力します。

レッスン 9. ファイルを移動

それでは、次にファイルを移動してみましょう。

Windows エクスプローラーから test2.swift をドラッグ&ドロップして フォルダa に移動します。

/bootcamp/wp-content/uploads/2020/05/move_file.png

これで、ファイルの移動は完了です。
xcode上でファイルを移動した場合もコミットしなければリポジトリに反映されないことに注意してください。

/bootcamp/wp-content/uploads/2020/05/move_commit.png

警告

ファイルの移動は git rm の後に git add を実行することと同じです。

レッスン 10. ファイル名を変更

次に、ファイル名の変更をしていきます。

test2.swift を test3.swift に変更しました。

/bootcamp/wp-content/uploads/2020/05/change_filename.png

コミットは必要ですので忘れずに実行します。

レッスン 11. ファイルを削除

ファイルの削除を実行します。ファイル名を右クリックし、「delete」で削除します。その際、以下の選択肢が出てきます。こちらはXcodeの機能ですが、Xcode管理上からファイルを削除するだけか、実際にゴミ箱にまで捨てるか?の違いになります。不要になったファイルであれば”move to trush”を選択しましょう。

/bootcamp/wp-content/uploads/2020/05/remove_trush.png

やはりコミットは必要です。ファイルがなくなっているため、ファイル名にマークはつきませんが、プロジェクト名のところに「M」のマークがついています。

/bootcamp/wp-content/uploads/2020/05/see_M.png

レッスン 12. 履歴を確認

これまでの変更履歴を確認してみます。 履歴を確認する方法は、先程の右上のマークを押した後、時計のマークをクリックします。

/bootcamp/wp-content/uploads/2020/05/change_log_view.png

これまでコミットした変更内容と変更したファイル一覧が表示されます。 変更履歴毎に右クリックすると差分を表示したり、取消しを行ったりすることができます。

最後に

これで TortoiseGit の基本学習用チュートリアルは終了します。 よく使うコマンドを中心に説明していますが、チームでの複数メンバーによる開発や高度な機能については説明していません。

このチュートリアルはいったんこれで終了します。 さて、次は何をすればよいでしょうか?
分散バージョン管理について基礎からやりたいという場合は、こちらの Git の基礎勉強 〜Git によるバージョン管理を使う〜 が参考になるでしょう。

バージョン管理のアプリケーションを理解する一番の近道は実際に使ってみることです。 あなたの開発で利用しはじめてください。あなたが所属する会社やチームでバージョン管理を使っていなかったり、別のツールを使っている場合があるかもしれません。そんなときでも、ひとりで Git / TortoiseGit を使うことは有益です。

さらに、ネットには数多くの良質なコンテンツがたくさんあります。Git / TortoiseGit の専門書籍も多く出版されています。ぜひ参照して快適な開発ライフを。

参考情報

リモートリポジトリを使うなら、tracpath(トラックパス)が便利です!
下記記事をぜひご参照下さい。
■tracpath(トラックパス)を使って、安全に複数名でバージョン管理を行う


バージョン管理サービス・プロジェクト管理サービスの「tracpath(トラックパス)」では、
ユーザー5名、リポジトリ数3つまで、無料で利用可能です。

学んだ知識を活かして、さっそく実務でも使って見ましょう。
エンタープライズ利用が前提のASPサービスなので、セキュリティも強固です。