[iOS]「GitHub」

GitHubはどのように活用すれば良いのか?という疑問を抱いたことはありませんか?

この記事では、GitHubの基本的な使い方、Gitとの違い、Swiftとの連携方法、バージョン管理の方法などについて、わかりやすく解説します。

iOSアプリ開発においてGitHubとSwiftを活用するためのスキルと知識を身につけたい方におすすめの内容となっています。

目次

GitHubとは何か?

GitHubは、ソフトウェア開発プロジェクトのためのプラットフォームです。ここでは、コードのバージョン管理や共同作業が可能です。複数の開発者が同じコードベースで作業できる利点があります。

GitとGitHubについて

GitGitHubは、両者ともバージョン管理に関連するツールですが、異なる目的と機能を持っています。

GitとGitHub
  • Gitはバージョン管理システムであり、ローカルでの変更の追跡と管理を行います。
  • GitHubはリモートリポジトリのホスティングサービスであり、リモート上での共有とコラボレーションをサポートします。
  • Gitを使用してローカルで作業し、変更をコミットした後にGitHubを使用して変更をリモートリポジトリにプッシュすることで、バージョン管理と共同作業を効果的に行うことができます。

GitHubの活用方法

STEP
プロジェクトの共有

GitHubプロジェクトの共有に最適なツールです。プロジェクトをリポジトリとして作成し、他の開発者と共有することができます。これにより、チーム全体での作業を円滑に進めることができます。

リポジトリは、プロジェクトやコードの保存場所です。GitHub上では、リポジトリがソースコードの保管庫となります。開発者はリポジトリ内でファイルやディレクトリを作成し、バージョン管理や共同作業を行います。リポジトリにはプロジェクトの全体像や履歴が保存され、複数の開発者が同じコードベースで作業できる利点があります。

STEP
コードのバージョン管理

GitHubは強力なバージョン管理機能を提供しています。開発者はコミットを行い、変更の履歴を追跡することができます。バージョン管理により、コードの変更履歴を管理し、バグ修正や機能追加などの作業を効果的に行うことができます。

コミットは、ソフトウェア開発における変更の単位です。コミットは、コードの変更や追加、削除などの操作を記録したものです。開発者はコミットを行うことで、コードの変更履歴を残すことができます。

リポジトリコミットの違いは、リポジトリがファイルやディレクトリを保持する場所であるのに対し、コミットは変更の単位であり、変更履歴を記録するためのものです。リポジトリはプロジェクト全体のコードやファイルを管理し、コミットは個々の変更を追跡・管理するために使用されます。

STEP
プルリクエストの作成

GitHubプルリクエスト機能は、コードの変更を元のリポジトリに反映する手法です。フォークしたリポジトリに対して変更を加え、プルリクエストを作成することで、コードレビューや変更の統合を行います。

フォークとは、他の開発者のリポジトリを自分のアカウントにコピーすることです。フォークを行うことで、元のリポジトリのコードを自由に変更・改善できます。フォークしたリポジトリは独立して存在し、開発者はそれを自由に操作できます。

プルリクエストとは、GitHub上で行われる変更の提案手法です。他の開発者がリポジトリフォークし、自分の変更を加えた後、元のリポジトリに対して変更内容を提案することができます。

作業エリアごとの機能・コマンドの紹介

基本機能について、 エリアごとに下図を見ながら解説していきます。

London App Brewery/iOS Course Resources List
STEP
Working Directory(作業エリア)

作業エリアは、コードの変更や追加が行われる場所です。

git add:
  • このコマンドは、変更したファイルをステージングエリアに追加するために使用されます。
  • 変更をコミットする前に、ステージングエリアに変更を追加する必要があります
git add <ファイル名>
git checkout:
  • 作業エリアのファイルを別のブランチに切り替えます。
git checkout <ブランチ名>
STEP
Staging Area(ステージングエリア)

ステージングエリアは、変更が確定され、次のコミットに含まれる変更の一覧が表示される場所です。

git commit:
  • このコマンドは、ステージングエリアの変更をリポジトリコミットするために使用されます。
  • コミットは、変更のスナップショットを作成し、変更の履歴をリポジトリに保存します。
git commit -m "コミットメッセージ"
STEP
My Local Repository(自分のローカルリポジトリ)
git push:
  • このコマンドは、ローカルのコミットをリモートリポジトリプッシュするために使用されます。
  • 自分の変更を共有したり、他の開発者と協力するために使用します。
git push <リモート名> <ブランチ名>
git pull:
  • リモートリポジトリから最新の変更を取得し、ローカルリポジトリにマージします。
  • 具体的には、指定したリモートリポジトリの指定したブランチから最新の変更を取得し、それを現在の作業ディレクトリにマージします。
git pull <リモート名> <ブランチ名>

マージ」とは、異なるブランチやリポジトリの変更を統合する操作です。複数の開発者が同じプロジェクトで作業している場合や、複数のブランチで開発を進めている場合に使用されます。マージによって、異なる変更を統合し、一つの統合されたバージョンを作成することができます。

STEP
Another Person’s Remote Repository(他の人のリモートリポジトリ)
fork:
  • 他の人のリポジトリを自分のアカウントに複製します。
  • 自分のアカウントでリポジトリを管理し、変更を加えることができます。
  • 例: GitHubのページで “Fork” ボタンをクリックして、他の人のリポジトリをフォークします。
pull request:
  • 自分の変更を他の人のリモートリポジトリに統合してもらうために、リクエストを送信します。
  • 例: GitHubのページで “Pull Request” ボタンをクリックして、自分の変更を他の人のリモートリポジトリに提案します。
STEP
Another Person’s Local Repository(他の人のローカルリポジトリ)

他の人が作成したプロジェクトのローカルリポジトリを参照する場合、その人のリポジトリを自分のローカルマシンにクローン(複製)する必要があります。これにより、他の人が作業しているプロジェクトの最新の状態を確認し、変更や追加のコードを取得できます。以下はクローンの例です。

git clone:
  • このコマンドは、リモートリポジトリをローカルマシンに複製するために使用されます。
  • リポジトリの全てのファイルと履歴がローカルにダウンロードされます。
git clone <リモートリポジトリのURL>
git fetch:
  • このコマンドは、ローカルリポジトリの情報を最新の状態に更新するために使用されますが、直接ローカルの作業ディレクトリに変更を反映するわけではありません。
  • 代わりに、取得した変更を後でマージするか、チェックアウトすることができます。
git fetch <リモート名>
その他の主なコード
git init

ローカルディレクトリをGitリポジトリとして初期化します。

git init
git status

現在の作業ディレクトリの状態を表示します。

git status
git branch

ブランチの一覧を表示します。

git branch
git merge

ブランチをマージします。

git merge <マージ元ブランチ>
git log

コミット履歴を表示します。

git log
git diff

変更内容を表示します。

git diff

ローカルでバージョン管理

複数の開発者が同じプロジェクトに対して作業を行う場合や、自身の変更をトラッキングしたい場合に、バージョン管理が必要になります。

ローカルでのバージョン管理を行うための手順とポイントを詳しく解説します。

バージョン管理の手順

STEP
プロジェクトの作成とGitリポジトリの初期化

最初にXcodeでSwiftプロジェクトを作成し、”Source Control: Create Git repository on my Mac”にチェックを入れます。これにより、プロジェクト内にGitリポジトリが作成されます。

STEP
変更の追加とコミット

コードの変更や追加が行われた場合、それをコミットしてバージョン管理に反映させます。以下のコード事例は、①変更の追加と、②コミットの手順を示しています

変更の追加とコミット
git add 
git commit -m "新しい機能の追加"

git add .は変更をステージングエリアに追加し、git commitは変更をコミットします。-mオプションには変更内容の説明を記述します。

STEP
ブランチの作成と切り替え

バージョン管理では、ブランチを使用して異なる開発フローを管理します。以下のコード事例は、①新しいブランチを作成して、②切り替える方法を示しています。

ブランチの作成と切り替え
git branch new-feature
git checkout new-feature

これにより、”new-feature“という名前の新しいブランチが作成され、そのブランチに切り替わります。

バージョン管理のポイント

POINT
ブランチの管理

ブランチは開発の異なる側面を管理するために使用されます。
新しい機能や修正を行う場合は、新しいブランチを作成して変更を行いましょう。
開発が完了したら、ブランチマージすることで変更を統合します。

POINT
ブランチのマージ

ブランチのマージは、異なるブランチでの変更を統合するために使用されます。以下のコード事例は、ブランチのマージ手順を示しています。

ブランチのマージ
git checkout main
git merge new-feature

これにより、”main“ブランチに”new-feature“ブランチの変更がマージされます。

POINT
変更の破棄

場合によっては、変更を破棄して以前の状態に戻りたい場合があります。以下のコード事例は、変更を破棄する手順を示しています。

変更の破棄
git restore .

このコマンドは、変更を破棄して以前の状態に戻します。

リモートでプロジェクト管理

リモートでプロジェクト管理するため、GitHubにプロジェクトを作成する手順とポイントについて解説します。

STEP
XcodeでSwiftプロジェクトを作成する方法

Xcodeを開いて、新しいSwiftプロジェクトを作成しましょう。プロジェクトを作成したら、開発を始める前にリモートリポジトリの作成を行いましょう。

STEP
GitHub上にリモートリポジトリを作成する

GitHubのウェブサイト(https://github.com)にアクセスし、ログインします。

ダッシュボードから「New repository」をクリックするとリポジトリの設定ページが表示されます。

リポジトリの設定ページの内容
https://github.com/new
  • リポジトリの名前を入力します。名前はプロジェクトの内容や目的に基づいて適切なものを選びましょう。
  • リポジトリの説明を入力します。
  • Public」(公開)または「Private」(非公開)を選択します。
    Public: 公開リポジトリは誰でも閲覧できます。他の開発者とコラボレーションする場合や、プロジェクトを公開する場合に適しています。
    Private: 非公開リポジトリはアクセス制限があり、特定のユーザーのみが閲覧できます。個人プロジェクトや商用プロジェクトの場合に適しています。
  • Initialize this repository with」(このリポジトリを初期化)というオプションが表示されます。ここでは、空のリポジトリを作成するか、既存のリポジトリを複製するかを選択できます。初めてリポジトリを作成する場合は、通常は空のリポジトリを選択します。
  • Add .gitignore」オプションが表示されます。これは、Gitが特定のファイルやディレクトリを無視するための設定ファイル「.gitignore」を追加するかどうかを選択するものです。プロジェクトに応じて、特定のファイルやディレクトリを無視する必要がある場合に選択します。
  • Choose a license」(ライセンスを選択)というオプションも表示されます。このオプションでは、プロジェクトにライセンスを適用するかどうかを選択できます。プロジェクトを他の人と共有する場合やオープンソースプロジェクトを作成する場合には、ライセンスの選択が重要です。
  • 設定が完了したら、「Create repository」ボタンをクリックしてリモートリポジトリを作成します。
STEP
ローカルプロジェクトとリモートリポジトリを紐付ける方法

ターミナルを開いて、プロジェクトのディレクトリに移動します。次に、以下のGitコマンドを使用してローカルプロジェクトをリモートリポジトリに紐付けましょう。

git init
git remote add origin リポジトリのURL

これにより、プロジェクトとリモートリポジトリが関連付けられます。

STEP
コミットとプッシュを行い、変更を反映させる

プロジェクトの変更をコミットしてリモートリポジトリに反映させるために、以下の手順を実行します。

git add .
git commit -m "変更の説明"
git push origin main

最初のコマンドは変更をステージングエリアに追加し、2番目のコマンドは変更をコミットします。最後のコマンドは変更をリモートリポジトリにプッシュします。

以上がSwiftでGitHubにプロジェクトを作成する手順です。
①Xcodeでプロジェクトを作成します。
②GitHub上でリモートリポジトリを作成します。
③Gitコマンドを使ってプロジェクトとリポジトリを紐付けます。
④変更をコミットしてプッシュすることで、リモートリポジトリに変更内容が反映されます。
これにより、ソースコードのバージョン管理や共同作業が容易になります。

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次