1. はじめに
UbuntuとGitHubを連携する意義とは?
近年、ソフトウェア開発やシステム運用の現場では、GitとGitHubの活用が当たり前になりつつあります。特にUbuntuのようなLinux環境を利用しているエンジニアやプログラマーにとって、GitHubとの連携は日常的な作業の一部です。
Gitはソースコードのバージョン管理を行うためのツールであり、複数人での開発を効率的に進める上で欠かせない存在です。一方のGitHubは、Gitで管理されたリポジトリをインターネット上で共有・公開できるホスティングサービスであり、世界中の開発者とコードをやり取りするハブとして機能します。
なぜUbuntu環境でGitHubを使うのか?
Ubuntuは、開発者に人気の高いLinuxディストリビューションであり、オープンソース開発との相性が非常に良いことでも知られています。Gitやその他の開発ツールを簡単に導入できる環境が整っており、GitHubとの連携作業もスムーズに進められます。
たとえば、以下のようなケースでUbuntuとGitHubの組み合わせが活躍します。
- PythonやC++などのプログラムコードをGitHub上で管理・共有する
- オープンソースプロジェクトに貢献(コントリビュート)する
- 自身の成果物をポートフォリオとして公開する
本記事でできるようになること
このガイドでは、以下のようなステップを通じてUbuntuでGitHubを活用するための基本から応用までを丁寧に解説していきます。
- UbuntuにGitをインストールする方法
- Gitの初期設定とSSH接続の確立
- GitHub上でのリポジトリ作成と操作
- Visual Studio Codeとの連携による効率的な開発
- よくあるトラブルの対処法やFAQ
初めてGitHubを使う方でも安心して読み進められるように、実際のコマンド例や注意点も交えながら説明します。UbuntuユーザーでGitHubを最大限活用したいと考えている方は、ぜひ最後までお付き合いください。
2. UbuntuへのGitのインストール
Gitとは何か?改めて理解しておこう
Gitは、ソフトウェア開発におけるバージョン管理システム(VCS: Version Control System)です。開発中のソースコードの変更履歴を管理し、過去の状態への復元や、複数人での同時作業を可能にします。
UbuntuなどのLinux環境では、Gitのインストールが非常に簡単に行える点も大きな魅力です。これから紹介する方法を使えば、ターミナル経由で数分以内にインストールを完了できます。
Gitのインストール手順(APT経由)
UbuntuにGitをインストールするには、APT(Advanced Package Tool)を使用するのが一般的です。以下の手順で進めましょう。
1. パッケージリストを最新に更新する
sudo apt update
このコマンドにより、システムが最新のパッケージ情報を取得します。インストール前には必ず実行しておきましょう。
2. Gitをインストールする
sudo apt install git
「Y/n」でインストール確認が表示されたら「y」を入力してEnterを押せば、Gitの導入が開始されます。
Gitのインストール確認
インストールが完了したら、以下のコマンドで正しくインストールされたか確認しましょう。
git --version
たとえば、以下のように表示されればOKです:
git version 2.34.1
バージョン番号はUbuntuのバージョンやパッケージ状況によって異なる場合がありますが、バージョン情報が返ってくればインストール成功です。
Snapパッケージ経由でのインストール(補足)
Ubuntuではsnap
コマンドを使ってGitをインストールすることも可能ですが、APTの方が一般的で安定しています。特別な理由がなければAPTでのインストールを推奨します。
3. Gitの初期設定
Gitを使う前に行うべき基本設定とは?
Gitのインストールが完了したら、次に行うべきはユーザー情報や認証方法の設定です。この設定を行うことで、リモートリポジトリとのやりとりや、チームでの開発がスムーズに進みます。
Gitのユーザー名とメールアドレスを設定する
Gitでは、コミット(変更の記録)ごとに「誰が行ったのか」という情報を記録します。これにはユーザー名とメールアドレスを事前に設定しておく必要があります。
設定コマンド
git config --global user.name "あなたの名前"
git config --global user.email "you@example.com"
ここで設定した名前とメールアドレスは、GitHubアカウントと一致している必要はありませんが、GitHubで使用しているものと揃えることで、コミット履歴とユーザーの紐づけが明確になります。
設定内容の確認
git config --list
このコマンドを使えば、現在の設定状況を一覧で確認できます。
SSHキーの生成とGitHubへの登録
HTTPS接続も可能ですが、SSH接続を設定することで毎回のパスワード入力を省略でき、より安全で効率的な運用が可能になります。
1. SSHキーを生成する
ssh-keygen -t ed25519 -C "you@example.com"
表示される指示に従ってEnterを数回押すと、~/.ssh/id_ed25519
という秘密鍵と、~/.ssh/id_ed25519.pub
という公開鍵のペアが作成されます。
2. SSHエージェントの起動と鍵の追加
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
これで鍵の準備が整いました。
3. 公開鍵をGitHubに登録する
公開鍵の内容をクリップボードにコピーします:
cat ~/.ssh/id_ed25519.pub
表示された文字列をすべてコピーし、GitHubの以下の手順で登録します:
- GitHubにログイン
- プロフィール画像 → 「Settings(設定)」をクリック
- 左側のメニューから「SSH and GPG keys」を選択
- 「New SSH key」をクリックし、公開鍵を貼り付けて保存
4. SSH接続のテスト
以下のコマンドで接続確認を行います:
ssh -T git@github.com
初回は「このホストを信頼しますか?」と表示されるので「yes」と入力します。
成功すると以下のようなメッセージが表示されます:
Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
設定完了後のおすすめ操作
ここまでの設定が完了すれば、GitHub上のリポジトリに対してクローン、プッシュ、プルなどの操作ができるようになります。次のセクションでは、実際にGitHubリポジトリを作成・操作する方法を詳しく解説します。

4. GitHubリポジトリの操作
GitHubで新しいリポジトリを作成する
GitHubにログインしたら、まずは新しいリポジトリを作成しましょう。
作成手順(Webブラウザ上)
- GitHubのトップページ右上の「+」ボタンから「New repository」をクリック
- 以下の情報を入力:
- Repository name(リポジトリ名):例)
my-first-repo
- Description(任意):簡単な説明
- Public / Private:公開・非公開の選択
- 「Create repository」をクリック
作成後、リポジトリのURLが表示されます。これを用いてクローンなどの操作を行います。
既存のGitHubリポジトリをクローンする
作成したリポジトリをローカル(Ubuntu環境)に複製するには、git clone
コマンドを使います。
git clone git@github.com:your-username/my-first-repo.git
※SSH接続を使用する場合の例です。HTTPSの場合はURLが異なります。
コマンドを実行すると、カレントディレクトリ内にmy-first-repo
というフォルダが作成され、その中にリポジトリの内容がダウンロードされます。
ファイルの変更・ステージング・コミットの流れ
1. ファイルを追加・編集する
例えば、新しいファイルを作成:
echo "# はじめてのGitHub" > README.md
2. 変更内容をステージングする
git add README.md
ステージングとは、「次のコミットに含める変更」を選択する作業です。
3. 変更をコミットする
git commit -m "初回のコミット:README.mdを追加"
これで、変更内容がローカルの履歴に保存されました。
変更をGitHubに反映(プッシュ)する
ローカルでの変更をGitHub上のリモートリポジトリに反映させるには、git push
を使用します。
git push origin main
※初期ブランチが main
でない場合(master
など)、適宜ブランチ名を変更してください。
リモートリポジトリの変更をローカルに取り込む(プル)
他の開発者がリモートで変更を加えた場合、それをローカルに反映させるには以下のコマンドを使います。
git pull origin main
これにより、リモートの変更がローカルのブランチに統合されます。
よくある補足操作
- リモートリポジトリの確認:
git remote -v
- 別のGitHubリポジトリを後から追加:
git remote add origin git@github.com:your-username/another-repo.git
- README.mdや.gitignoreの編集も、同じ手順で管理可能です。
5. Visual Studio Codeとの連携
VS CodeはGit操作に最適なエディタ
Ubuntu環境でGitHubを利用する際、Visual Studio Code(以下、VS Code)を併用すると、作業効率が大幅に向上します。VS CodeはMicrosoftが開発したオープンソースのコードエディタで、Gitとの統合が非常に優れているのが特長です。GUI上でコミットやプッシュ、差分確認ができるため、初心者にもやさしいツールとなっています。
VS Codeのインストール方法(Ubuntu)
Ubuntuでは、以下の手順でVS Codeを簡単にインストールできます。
1. Microsoftのリポジトリを追加
sudo apt update
sudo apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/
2. リポジトリ情報の登録
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
3. VS Codeのインストール
sudo apt update
sudo apt install code
インストールが完了すると、ターミナル上で code
と入力することでエディタを起動できます。
Git拡張機能は標準搭載
VS Codeはインストール直後からGitとの連携機能を搭載しているため、特別なプラグインを導入しなくてもGit操作が可能です。ただし、さらに便利に使いたい場合は以下の拡張機能がおすすめです。
- GitHub Pull Requests and Issues
→ GitHubとの連携が強化され、Pull Requestの操作やIssue管理がGUIで可能になります。 - GitLens
→ 各行の変更履歴を可視化し、誰がいつどのように変更したかを視覚的に確認できます。
VS Code上での基本的なGit操作
リポジトリの読み込み
ターミナルでクローン済みのプロジェクトディレクトリに移動し、以下を実行:
code .
これでVS Codeがそのリポジトリを読み込みます。
変更の確認とコミット
- サイドバー左側の「ソース管理」アイコン(分岐したようなマーク)をクリック
- 変更されたファイル一覧が表示される
- ファイルを選択すると差分を確認できる
- コミットメッセージを入力し、「✓」アイコンでコミット
プッシュ・プル操作
- サイドバーの「…」から「Push」や「Pull」を選択
- または、右下のステータスバーから操作
ターミナルとの併用も可能
VS Code内蔵のターミナル(Ctrl +
)を使えば、GUIとCLIを自由に切り替えられます。たとえば、GUIでコミットして、ターミナルでブランチ操作を行う…といった柔軟な使い方ができます。
トラブル時のヒント
- SSH接続に関するエラーが出る場合は、VS Codeから正しいSSHキーを参照できているか確認
- 認証情報を再設定したり、GitHubのPersonal Access Token(PAT)を用意して再認証する必要があります
6. よくあるトラブルシューティング
SSH接続エラー:「Permission denied (publickey).」
原因
- SSHキーが正しく生成・登録されていない
- GitHubに公開鍵が追加されていない
- SSHエージェントが鍵を認識していない
解決方法
- SSHキーの有無を確認:
ls ~/.ssh/id_ed25519.pub
存在しない場合は以下で生成:
ssh-keygen -t ed25519 -C "your_email@example.com"
- SSHエージェントを起動し、鍵を追加:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
- 公開鍵の内容をGitHubに追加:
cat ~/.ssh/id_ed25519.pub
→ GitHubの「SSH and GPG keys」から追加
- 接続テスト:
ssh -T git@github.com
認証エラー(HTTPS接続時):ユーザー名やパスワードの入力を求められる
原因
- パスワード認証が廃止され、トークン認証が必要になったため
解決方法
- GitHubで「Personal Access Token」を発行
→ https://github.com/settings/tokens
→repo
にチェックを入れて作成 - Gitでの認証時に、ユーザー名はGitHubのアカウント名、パスワードは発行したトークン文字列を使用
- 認証情報を記憶させる場合は、以下のコマンドでキャッシュを有効化:
git config --global credential.helper cache
「fatal: not a git repository」のエラー
原因
git
コマンドを実行しているディレクトリがGitリポジトリではない
解決方法
- クローン済みリポジトリの中に移動してから操作する:
cd ~/your-project-directory
- または、新たにリポジトリを初期化:
git init
コンフリクト(競合)の発生時
原因
- 自分と他の人が同じファイルの同じ部分を同時に編集した場合、マージ時にコンフリクトが起こります
解決方法
git pull
実行時にエラーが出たら、該当ファイルをエディタで開く- 以下のようなマークが表示される:
<<<<<<< HEAD
自分の変更
=======
他の人の変更
>>>>>>> origin/main
- どちらか、または両方の内容を残し、マークを削除して保存
- その後、以下を実行:
git add .
git commit
「remote: Repository not found.」のエラー
原因
- リポジトリのURLが間違っている
- 自分のGitHubアカウントにそのリポジトリへのアクセス権がない
解決方法
- リモートURLを確認:
git remote -v
- 修正が必要な場合は再設定:
git remote set-url origin git@github.com:your-username/your-repo.git
これらのトラブルは、初心者が最初につまずきやすいポイントです。しかし、原因と解決策が明確であれば冷静に対処できます。エラーは成長のチャンスと捉えて、少しずつ操作に慣れていきましょう。
7. FAQ(よくある質問)
Q1. GitとGitHubの違いは何ですか?
A:
Gitはローカルでソースコードの変更履歴を管理するためのバージョン管理ツールです。一方、GitHubはそのGitのリポジトリをインターネット上で共有・管理できるサービスです。
- Git:オフラインでの履歴管理が可能
- GitHub:Gitの履歴をクラウド上に保存し、他人と共有できるプラットフォーム
Q2. SSH接続とHTTPS接続、どちらを使うべきですか?
A:
基本的にはSSH接続を推奨します。理由は以下の通りです:
- 毎回のパスワード入力が不要(SSHキーによる認証)
- より安全で、長期的に使いやすい
ただし、会社やネットワーク環境によってはHTTPSが必須の場合もあるので、状況に応じて使い分けましょう。
Q3. 複数のGitHubアカウントをUbuntuで使い分けるには?
A:
SSHキーをアカウントごとに生成し、SSH設定ファイルで明示的に使い分けます。
- アカウントごとにSSHキーを生成
例:~/.ssh/id_ed25519_work
,~/.ssh/id_ed25519_personal
~/.ssh/config
に以下のように記述:
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
Host github.com-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
.git/config
またはgit remote set-url
でリモートURLを変更:
git remote set-url origin git@github.com-work:your-work-user/your-repo.git
Q4. Gitの操作をGUIでやりたいのですが、可能ですか?
A:
はい、Visual Studio Codeを使えばGUIでのGit操作が可能です。
コミット、プッシュ、差分の確認、ブランチの切り替えなども視覚的にわかりやすく操作できます。初心者には特におすすめの方法です。
Q5. リモートリポジトリを削除したらローカルはどうなりますか?
A:
GitHub上のリモートリポジトリを削除しても、ローカルのリポジトリはそのまま残ります。ただし、git push
をしてもエラーになります。
ローカルを残しつつ、新しいリモートに接続するには以下のようにURLを再設定します:
git remote set-url origin git@github.com:new-user/new-repo.git
Q6. ターミナル操作が苦手です。GUIのみで完結させる方法は?
A:
以下のようなGUI Gitクライアントを使うことで、ターミナルを使わずに作業が可能です。
- GitKraken
- Sourcetree(Linux非対応、Wine経由で一部動作)
- Visual Studio Code(Git統合済み)
Ubuntuユーザーには、やはりVS Code+GitLens拡張機能の組み合わせがもっとも導入しやすく、使い勝手も優れています。
Q7. Gitの履歴はどこまで遡れますか?
A:
Gitは原則として、最初のコミット(初期化)からすべての履歴を保持しています。以下のコマンドで履歴を遡って確認できます:
git log
特定のファイルに関する履歴だけを見たい場合:
git log path/to/file