今回は、ソフトウェア開発で使用されるGitについて説明します。
以前のブログでTerraformについて説明しましたが、このプロジェクトでGitを使用しています。Gitを使用することで、チーム開発が行いやすくなるので、まだ使ったことがない人は、是非使用を検討してみてください。
また、Gitはファイルのバージョン管理も行うことができるので、とても便利なツールです。
今回、このGitについて、概要と基本手順について説明します。
是非最後まで御覧ください!
Gitの概要
Gitとは
Gitとは分散バージョン管理システムです。分散バージョン管理システムとは、複数人で作成したファイルを世代管理できるシステムです。
例えば、チームで同じファイルを編集しているとします。Aさんが編集したファイルを、次にBさんが編集したとします。その後、Bさんが編集した部分が間違っていることが分かり、Aさんが編集した状態に戻したい場合、Gitを使用していれば簡単に戻すことができます。
このように、Gitは複数人で同じファイルを編集作業する際、とても便利です。Gitは、主にソフトウェア開発の現場で使われています。
Gitの特徴
Gitの主な特徴は5つです。
- 各バージョンに、作成日時や作成者、編集内容等の付随情報を記録できる
- 過去のバージョンへ簡単に戻すことができる
- 2つのバージョンの比較ができる
- GitHubにファイルのバックアップを取得できる
- チームで簡単にソフトウェア開発ができる
このようにGitには様々な特徴があります。
Gitのインストール方法
GitをMacにインストールする際は、Homebrewを使用します。Homebrewについては、以前「はじめのTerraform入門講座①」の「Terraformのインストール方法」で説明していますので、ご参照ください。
Homebrewを使用してインストールする方法(Mac)
「ターミナル.app」で下記コマンドを実行します。
brew install git
Gitが正常にインストールされているかは、下記バージョンを表示するコマンドで確認できます。
git --version
正常にインストールされている場合は、下記画面のようにバージョンが表示されます。
![](https://hajimenoit.com/wp-content/uploads/2023/01/102b0780987880b858e895f7360243d6.png)
インストーラーを使用してインストールする方法(Mac)
Macでインストーラーを使用してGitをインストールする場合、下記URLからダウンロードできます。
・Download for macOS
https://git-scm.com/download/mac
上記URLの「Binary installer」下の「installer」をクリックすると、ダウンロードサイトが開きます。
![](https://hajimenoit.com/wp-content/uploads/2023/01/57b96b3fb35ddbda3926e9d78653561b-1024x841.jpg)
その後、ダウンロードサイト内、「Download」を選択するとインストーラーイメージがダウンロードされます。
![](https://hajimenoit.com/wp-content/uploads/2023/01/9f01549161443d543ea8589882945bf4-1024x271.png)
イメージファイルを開いて、「.pkg」形式のインストーラーをダブルクリックしてインストールします。
![](https://hajimenoit.com/wp-content/uploads/2023/01/6c87959324370fff66c49bb11288a1ea.png)
インストーラーを使用してインストールする方法(Windows)
WindowsでGitをインストールする場合、下記URLよりOSのビット数に合わせてインストーラーをダウンロードします。EXE形式のファイルがダウンロードされるので、実行してインストールします。
・Download for Windows
https://git-scm.com/download/win
![](https://hajimenoit.com/wp-content/uploads/2023/01/764168bcf7acded8fde9387eff68d185-1024x862.jpg)
GitHubの概要
GitHubとは
GitHubとは、Web上でファイルのバージョン管理ができるサービスです。主にソフトウェアのソースコードを管理することで使用されています。GitHubにソースコードを共有することで、チーム開発時、Aさんは登録機能、Bさんは削除機能等、別々の開発を行うことができます。
GitHubの特徴
GitHubの主な特徴は、下記3つです。
- 分岐して開発可能
- メインコードの上書きは承認制
- 簡単にコード結合
1.分岐して開発可能
GitHubには、「フォーク」という機能があり、1つのプロジェクトを複数人で分岐して開発することができます。分岐した際、他のメンバーが開発している部分は、触らずに開発することができます。誤って、メンバーが開発した部分を消したりするミスを防ぐことができます。
2.オリジナルコードの上書きは承認制
プルリクエストという機能を使用すれば、自分が開発したコードを、メインコードの所有者に上書きリクエストすることができます。上書きは承認制なので、二重チェックすることができます。
3.簡単にコード結合
マージという機能を使用して、プルリクエストされたコードを、メインコードの所有者が自分のコードに結合することができます。
Gitを使用する上で必要な専門用語
- リポジトリ
フォルダやソースコードの状態を保存する場所 - ローカルリポジトリ
ユーザーが利用する、ローカルのリポジトリ - リモートリポジトリ
GitHub等のネットワーク上にあるリポジトリ - コミット
ファイルの追加や変更をリポジトリに保存すること - プッシュ
ファイルをリモートリポジトリにアップロードすること - ブランチ
オリジナルコードから分岐すること - プライベートリポジトリ
特定のメンバーだけと共有するリポジトリ - パブリックリポジトリ
誰にでも公開されているリポジトリ
フォークとブランチの違い
フォークとブランチの違いについて説明します。
フォークは、別名クローンと呼びます。メインコードのクローンを作成することで、フォークしたコードは独立して存在しています。また、ブランチしたコードもクローンします。個人開発する場合によく使用します。
ブランチは、メインコードの分岐です。メインコードと依存関係にあります。ブランチの場合は、他のブランチは含まず、あくまでメインコードを分岐するだけです。チーム開発する場合によく使用します。
このように、フォークはメインコードのクローンから独自で開発する場合に使用し、ブランチはメインコードを分岐してチームで同じソフトウェアを開発するときに使用します。
GitHubのアカウント作成方法
GitHubのアカウント作成は、下記URLより作成できます。英語表示ですが、Google翻訳等を使用すれば日本語表示で作成できます。
・GitHubアカウント作成
https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F&source=header-home
GitHubのサービスは、一部有料もありますが、基本無料で使用できるサービスです。無料で使用できますが、個人が作成できるアカウントは1つまでと利用規約で定められています。
Gitの基本手順(Macの場合)
Gitの基本手順に説明します。
今回はローカルリポジトリのテキストファイルをGitHubのパブリックリポジトリに、アップロードする方法を説明します。
手順は全8ステップです。
- GitHubアカウントの設定
- GitHubにリポジトリ作成
- フォルダとファイルの作成
- Git初期化
- ファイルの追加
- Gitに追加・変更したファイルを登録
- GitHubのリポジトリ情報をローカルに追加
- GitHubのリモートリポジトリに変更を反映
1.GitHubアカウントの設定
GitHubアカウントの設定を「ターミナル.app」から行います。下記2コマンドを1つずつ実行してください。「username」と「mail@example.com」は自分の「ユーザーネーム」と「メールアドレス」に置き換えてください。
git config --global user.name username
git config --global user.email mail@example.com
![](https://hajimenoit.com/wp-content/uploads/2023/01/e74484bb940517161ae7c71db1651dff.png)
正常に設定がされているかは、下記コマンドで確認することができます。
git config -l
![](https://hajimenoit.com/wp-content/uploads/2023/01/b102d9c7b1e43a379f18064a088d5e8c.png)
2.GitHubにリポジトリ作成
GitHubにリポジトリを作成します。自分のアカウントページの左上にある「New」を選択します。
![](https://hajimenoit.com/wp-content/uploads/2023/01/7ac8ee5dcc2c0b5edde4a9cf1b8c9003.png)
「Repository name」に半角英数記号で任意の名前を入力します。その他の設定は、全て初期設定です。最後に、「Create Repository」をクリックします。
![](https://hajimenoit.com/wp-content/uploads/2023/01/410f7af8287b507b33b67b3caf26b6af.png)
正常にリポジトリが作成されると、Gitの手順が記載されたページが開きます。
![](https://hajimenoit.com/wp-content/uploads/2023/01/4da8cab2abefcb540fe878e9b3b9fb17-1024x517.png)
3.フォルダとファイルの作成
MacのホームフォルダにGit用フォルダとファイルを作成します。今回はコマンドで作成しますが、GUIで作成しても構いません。
下記3コマンドを1つずつ実行します。
mkdir ~/testgit
cd ~/testgit
touch text.txt
![](https://hajimenoit.com/wp-content/uploads/2023/01/6873b3e1b214bac9fddc338933a491c5.png)
![](https://hajimenoit.com/wp-content/uploads/2023/01/ebb045da28c9e9786a44bede83e62de6.png)
4.Gitの初期化
Gitの初期化を行います。ターミナルで下記コマンドを実行します。
git init
![](https://hajimenoit.com/wp-content/uploads/2023/01/edb56cfdf5220a431c6a120cb27a2eba.png)
5.ファイルの追加
Gitシステムにファイルを追加します。今回は、作成した「text.txt」を追加します。下記コマンドを実行します。
git add text.txt
![](https://hajimenoit.com/wp-content/uploads/2023/01/1f590f577d7ac8cc00e332cccf587059.png)
6.Gitに追加・変更したファイルを登録
Gitに追加・変更したファイルを登録します。下記コマンドを実行します。「”(ダブルクォーテーション)」の間に変更内容等を追記し、他のメンバーでも何を行ったかわかるようにコメントを入力します。ダブルクォーテーションの間は、日本語(全角)が使用できます。
git commit -m "text.txtを追加"
![](https://hajimenoit.com/wp-content/uploads/2023/01/74e97414cb536a3e0d66b8732a5fef1b.png)
7.GitHubのリポジトリ情報をローカルに追加
GitHubで作成したリポジトリ情報をローカルに追加します。下記コマンドを実行します。なお、「username」と「testgit」の部分は、GitHubにリポジトリを作成した時の「ユーザーネーム」と「リポジトリ名」に置き換えてください。
git remote add origin https://github.com/username/testgit.git
![](https://hajimenoit.com/wp-content/uploads/2023/01/497fabbbd0465195ef5ffab3c3cde4c9.png)
8.GitHubのリモートリポジトリに変更を反映
GitHubのリモートリポジトリに変更を反映します。下記2つのコマンドを1つずつ実行してください。
最初のコマンドは、メインブランチを選択しています。次のコマンドでローカルリポジトリのファイルをリモートリポジトリのメインブランチにアップロードしています。
git branch -M main
git push -u origin main
![](https://hajimenoit.com/wp-content/uploads/2023/01/fcb62d9ccb9b7da3f71a4f9c24df3158.png)
最後に、GitHubに正常にファイルが追加されたか確認します。GitHubに作成したリポジトリを選択します。
![](https://hajimenoit.com/wp-content/uploads/2023/01/1bda222bc1b99af16725676993a5c06c-1024x349.png)
このように、Gitを使用することでローカルで作業した内容をGitHubを使用してバージョン管理することができます。
まとめ
今回は、下記3点について説明しました。
- Gitの概要
- GitHubの概要
- Gitの基本手順(Macの場合)
Gitを使用すると、ソースコードを共有でき、また複数人で共有することができます。今回説明した基本手順は、一般公開しているリポジトリですが、実際ソフトウェア開発する際は、プライベートリポジトリでブランチを分けて作成します。
その方法については、また別のブログでご紹介します。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!