SourcetreeとGitLab連携で始める!初心者向けGit入門ガイド
Gitは、現代のソフトウェア開発において必要不可欠なバージョン管理システムです。チームでの共同開発を円滑に進め、過去の変更履歴を追跡し、バグ修正や機能追加を安全に行う上で、Gitは強力なツールとなります。しかし、Gitのコマンドラインインターフェースは初心者にとって敷居が高く感じられることもあります。
そこで、本記事では、GUIツールであるSourcetreeと、リモートリポジトリサービスであるGitLabを連携させて、Gitの基本操作をわかりやすく解説します。Gitの概念から、Sourcetreeのインストール、GitLabとの連携、基本的なGit操作まで、初心者でもスムーズにGitを使い始められるように、ステップバイステップで説明していきます。
第1章: Gitとは?バージョン管理の基礎
1.1 なぜバージョン管理が必要なのか?
ソフトウェア開発は、常に変化を伴うプロセスです。新しい機能の追加、バグの修正、仕様の変更など、コードは日々進化していきます。その過程で、以下のような問題が発生する可能性があります。
- 過去のコードに戻りたい: ある機能を追加した後に、重大なバグが見つかった場合、変更前の状態に戻したい。
- 複数人での共同開発: 複数人で同時に同じファイルを編集すると、変更内容が競合し、コードが壊れてしまう可能性がある。
- 誰がいつ何を変更したか知りたい: 問題が発生した場合、原因を特定するために、誰がいつどのような変更を加えたのかを知りたい。
バージョン管理システムは、これらの問題を解決し、効率的かつ安全なソフトウェア開発をサポートします。
1.2 Gitの基本的な概念
Gitは、分散型バージョン管理システムであり、以下の特徴を持ちます。
- スナップショット: Gitは、ファイルの変更を差分としてではなく、ファイルシステム全体のスナップショットとして記録します。
- 分散型: 各開発者は、ローカルにリポジトリ全体を保持します。これにより、オフライン環境でも作業が可能になり、中央サーバーの障害時にも影響を受けにくくなります。
- ブランチ: ブランチは、開発ラインを分岐させる機能です。新機能の開発やバグ修正を、メインの開発ラインに影響を与えることなく行うことができます。
Gitを理解する上で重要な概念は以下の通りです。
- リポジトリ: プロジェクトのファイルや変更履歴を保存する場所。ローカルリポジトリとリモートリポジトリの2種類があります。
- コミット: ファイルの変更内容をリポジトリに記録すること。各コミットには、変更内容、作成者、日付などの情報が含まれます。
- ブランチ: 開発ラインを分岐させる機能。複数の開発者が並行して作業を進める際に便利です。
- マージ: 複数のブランチを統合すること。異なるブランチで行われた変更を、一つのブランチにまとめる際に使用します。
- プッシュ: ローカルリポジトリの変更内容をリモートリポジトリに送信すること。
- プル: リモートリポジトリの変更内容をローカルリポジトリに反映すること。
- クローン: リモートリポジトリをローカルリポジトリに複製すること。
第2章: Sourcetreeのインストールと設定
2.1 Sourcetreeとは?
Sourcetreeは、Atlassian社が提供する無料のGitクライアントツールです。GUIベースのインターフェースを提供することで、Gitのコマンドライン操作を必要とせずに、直感的にGit操作を行うことができます。
Sourcetreeの主なメリットは以下の通りです。
- 直感的な操作: GUIベースのインターフェースで、Gitの操作を視覚的に理解しやすい。
- コマンドライン不要: コマンドラインを覚える必要がなく、初心者でも簡単にGitを使い始めることができる。
- GitLabとの連携: GitLabとの連携機能が充実しており、リモートリポジトリの管理が容易になる。
- 無料: 個人利用、商用利用に関わらず、無料で利用できる。
2.2 Sourcetreeのインストール
Sourcetreeのインストール手順は以下の通りです。
- Sourcetreeの公式サイトにアクセス: https://www.sourcetreeapp.com/
- ダウンロードボタンをクリック: 適切なOS(WindowsまたはmacOS)のバージョンをダウンロードします。
- インストーラーを実行: ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールを進めます。
- Atlassianアカウントでログイン (または新規作成): インストール完了後、Sourcetreeを起動すると、Atlassianアカウントでのログインを求められます。既存のアカウントでログインするか、新規アカウントを作成してください。
2.3 Sourcetreeの初期設定
Sourcetreeを起動したら、いくつかの初期設定を行う必要があります。
- Gitのパス設定: SourcetreeがGitの実行ファイルを認識できるように、Gitのパスを設定します。通常は自動的に検出されますが、もし検出されない場合は、手動でGitの実行ファイルのパスを指定します。
- Windows:
C:\Program Files\Git\bin\git.exe
- macOS:
/usr/bin/git
(通常はデフォルトで設定されています) - ユーザー名とメールアドレスの設定: コミット時に使用するユーザー名とメールアドレスを設定します。この情報は、コミット履歴に記録されます。
- グローバル設定: すべてのリポジトリに適用される設定です。
- リポジトリごとの設定: 特定のリポジトリにのみ適用される設定です。
- SSHキーの設定 (推奨): GitLabとの連携をより安全に行うために、SSHキーを設定することを推奨します。
第3章: GitLabとの連携
3.1 GitLabアカウントの作成
まだGitLabアカウントをお持ちでない場合は、以下の手順で作成してください。
- GitLabの公式サイトにアクセス: https://gitlab.com/
- 登録ボタンをクリック: 登録フォームに必要事項を入力し、アカウントを作成します。
- メールアドレスの認証: 登録したメールアドレスに届いた認証メールに記載されたリンクをクリックし、メールアドレスを認証します。
3.2 GitLabリポジトリの作成
GitLabアカウントが作成できたら、新しいリポジトリを作成します。
- GitLabにログイン: 作成したアカウントでGitLabにログインします。
- 「New project/repository」ボタンをクリック: ダッシュボードまたはプロジェクト一覧ページに表示されている「New project/repository」ボタンをクリックします。
- 「Create blank project」を選択: 新しいプロジェクトを作成するためのオプションが表示されるので、「Create blank project」を選択します。
- プロジェクト名、可視性などを設定: プロジェクト名、説明(任意)、可視性(Public, Internal, Private)などを設定します。
- Public: 誰でもリポジトリを閲覧できます。
- Internal: GitLabにログインしているユーザーのみが閲覧できます。
- Private: 特定のメンバーのみが閲覧できます。
- 「Create project」ボタンをクリック: 設定内容を確認し、「Create project」ボタンをクリックしてリポジトリを作成します。
3.3 SourcetreeからGitLabリポジトリをクローン
GitLabで作成したリポジトリをSourcetreeにクローンします。
- GitLabのリポジトリページで「Clone」ボタンをクリック: 作成したリポジトリのページにアクセスし、「Clone」ボタンをクリックします。
- 「Clone with HTTPS」または「Clone with SSH」を選択: HTTPSまたはSSHのどちらかのURLをコピーします。SSHを使用する場合は、事前にSSHキーの設定が必要です。
- Sourcetreeを起動: Sourcetreeを起動します。
- 「リモートリポジトリをクローン」ボタンをクリック: Sourcetreeの画面上部にある「リモートリポジトリをクローン」ボタンをクリックします。
- ソースURLにコピーしたURLを貼り付け: コピーしたURLを「ソースURL」の欄に貼り付けます。
- 保存先パスを設定: ローカルにリポジトリを保存する場所を指定します。
- 「クローン」ボタンをクリック: 設定内容を確認し、「クローン」ボタンをクリックしてリポジトリをクローンします。
第4章: 基本的なGit操作 (Sourcetreeを使用)
4.1 ファイルの追加とコミット
リポジトリにファイルを追加し、コミットする方法を説明します。
- リポジトリにファイルを追加: クローンしたローカルリポジトリのフォルダに、新しいファイルを追加します(例:
README.md
)。 - Sourcetreeで変更を確認: Sourcetreeを開き、クローンしたリポジトリを選択すると、「未ステージのファイル」に新しく追加したファイルが表示されます。
- ファイルをステージング: 追加したファイルを選択し、「ステージ」ボタンをクリックして、変更をステージングエリアに追加します。
- コミットメッセージを入力: 画面下部のテキストボックスに、コミットメッセージを入力します。コミットメッセージは、変更内容を説明する簡潔な文章で記述します。
- 「コミット」ボタンをクリック: コミットメッセージを入力したら、「コミット」ボタンをクリックして、変更をローカルリポジトリにコミットします。
4.2 プッシュ (Push)
ローカルリポジトリの変更をリモートリポジトリ(GitLab)にプッシュします。
- Sourcetreeで「プッシュ」ボタンをクリック: Sourcetreeの画面上部にある「プッシュ」ボタンをクリックします。
- プッシュ先ブランチを確認: プッシュ先のブランチ(通常は
main
またはmaster
)を確認し、「OK」ボタンをクリックします。 - GitLabで変更を確認: GitLabのリポジトリページにアクセスし、ローカルリポジトリからプッシュされた変更が反映されていることを確認します。
4.3 プル (Pull)
リモートリポジトリ(GitLab)の変更をローカルリポジトリにプルします。
- Sourcetreeで「プル」ボタンをクリック: Sourcetreeの画面上部にある「プル」ボタンをクリックします。
- プル元ブランチを確認: プル元のブランチ(通常は
main
またはmaster
)を確認し、「OK」ボタンをクリックします。 - 変更がマージされる: リモートリポジトリの変更がローカルリポジトリにマージされます。もし競合が発生した場合は、競合を解消する必要があります(後述)。
4.4 ブランチの作成と切り替え
新しいブランチを作成し、ブランチを切り替える方法を説明します。
- 新しいブランチを作成: Sourcetreeの画面上部にある「ブランチ」ボタンをクリックします。
- ブランチ名を入力: 新しいブランチの名前を入力し、「ブランチを作成」ボタンをクリックします。
- ブランチを切り替え: Sourcetreeの画面左側のブランチ一覧から、切り替えたいブランチをダブルクリックします。
4.5 マージ (Merge)
異なるブランチの変更を統合します。
- マージ先のブランチに切り替え: マージ先のブランチ(通常は
main
またはmaster
)に切り替えます。 - Sourcetreeで「マージ」ボタンをクリック: Sourcetreeの画面上部にある「マージ」ボタンをクリックします。
- マージ元ブランチを選択: マージ元ブランチを選択し、「OK」ボタンをクリックします。
- 競合の解消 (Conflict Resolution): もし競合が発生した場合は、Sourcetree上で競合箇所を確認し、どちらの変更を採用するか、または両方の変更を組み合わせるかを選択して、競合を解消します。
- コミット: 競合を解消したら、マージの結果をコミットします。
4.6 競合の解消 (Conflict Resolution)
複数人が同じファイルを同時に編集した場合など、Gitは自動的にマージできない変更が発生することがあります。これを競合と呼びます。競合が発生した場合、以下の手順で解消する必要があります。
- Sourcetreeで競合ファイルを確認: Sourcetree上で、競合が発生しているファイルには、競合マークが表示されます。
- 競合ファイルをダブルクリック: 競合ファイルをダブルクリックすると、競合箇所が表示されます。
- 競合箇所を編集: 競合箇所は、
<<<<<<< HEAD
,=======
,>>>>>>> branch_name
といったマーカーで囲まれています。これらのマーカーを参考に、どちらの変更を採用するか、または両方の変更を組み合わせるかを決定し、競合箇所を編集します。 - マーカーを削除: 競合箇所を編集したら、
<<<<<<< HEAD
,=======
,>>>>>>> branch_name
といったマーカーを削除します。 - ファイルを保存: 編集したファイルを保存します。
- ファイルをステージング: 競合を解消したファイルをステージングします。
- コミット: 競合を解消した変更をコミットします。
第5章: まとめと今後の学習
本記事では、SourcetreeとGitLabを連携させて、Gitの基本的な操作を解説しました。
- Gitの概念: バージョン管理の必要性、Gitの基本的な概念(リポジトリ、コミット、ブランチなど)を理解しました。
- Sourcetreeのインストールと設定: Sourcetreeのインストール方法、初期設定(Gitのパス設定、ユーザー名とメールアドレスの設定など)を学びました。
- GitLabとの連携: GitLabアカウントの作成、GitLabリポジトリの作成、SourcetreeからGitLabリポジトリをクローンする方法を習得しました。
- 基本的なGit操作: ファイルの追加とコミット、プッシュ、プル、ブランチの作成と切り替え、マージ、競合の解消といった基本的なGit操作をSourcetreeを使って実践しました。
Gitは非常に奥深いツールであり、本記事で紹介した内容は、ほんの入り口にすぎません。より高度なGit操作を習得するために、以下の学習リソースを活用することをおすすめします。
- Pro Git: Gitの公式ドキュメントであり、Gitのあらゆる側面について詳しく解説されています。
- Gitチュートリアル: さまざまなGitチュートリアルサイトや動画が公開されています。
- オンラインコース: UdemyやCourseraなどのオンライン学習プラットフォームで、Gitに関するコースを受講できます。
Gitは、ソフトウェア開発者にとって必須のスキルです。SourcetreeとGitLabを連携させることで、Gitの学習をよりスムーズに進めることができます。本記事を参考に、Gitをマスターし、より効率的なソフトウェア開発を実現してください。