【初心者向け】UbuntuでGitHubを使う方法|インストールからSSH設定・リモート操作まで徹底解説

目次

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の以下の手順で登録します:

  1. GitHubにログイン
  2. プロフィール画像 → 「Settings(設定)」をクリック
  3. 左側のメニューから「SSH and GPG keys」を選択
  4. 「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ブラウザ上)

  1. GitHubのトップページ右上の「+」ボタンから「New repository」をクリック
  2. 以下の情報を入力:
  • Repository name(リポジトリ名):例)my-first-repo
  • Description(任意):簡単な説明
  • Public / Private:公開・非公開の選択
  1. 「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エージェントが鍵を認識していない

解決方法

  1. SSHキーの有無を確認:
   ls ~/.ssh/id_ed25519.pub

存在しない場合は以下で生成:

   ssh-keygen -t ed25519 -C "your_email@example.com"
  1. SSHエージェントを起動し、鍵を追加:
   eval "$(ssh-agent -s)"
   ssh-add ~/.ssh/id_ed25519
  1. 公開鍵の内容をGitHubに追加:
   cat ~/.ssh/id_ed25519.pub

→ GitHubの「SSH and GPG keys」から追加

  1. 接続テスト:
   ssh -T git@github.com

認証エラー(HTTPS接続時):ユーザー名やパスワードの入力を求められる

原因

  • パスワード認証が廃止され、トークン認証が必要になったため

解決方法

  1. GitHubで「Personal Access Token」を発行
    https://github.com/settings/tokens
    repo にチェックを入れて作成
  2. Gitでの認証時に、ユーザー名はGitHubのアカウント名、パスワードは発行したトークン文字列を使用
  3. 認証情報を記憶させる場合は、以下のコマンドでキャッシュを有効化:
   git config --global credential.helper cache

「fatal: not a git repository」のエラー

原因

  • git コマンドを実行しているディレクトリがGitリポジトリではない

解決方法

  • クローン済みリポジトリの中に移動してから操作する:
  cd ~/your-project-directory
  • または、新たにリポジトリを初期化:
  git init

コンフリクト(競合)の発生時

原因

  • 自分と他の人が同じファイルの同じ部分を同時に編集した場合、マージ時にコンフリクトが起こります

解決方法

  1. git pull 実行時にエラーが出たら、該当ファイルをエディタで開く
  2. 以下のようなマークが表示される:
   <<<<<<< HEAD
   自分の変更
   =======
   他の人の変更
   >>>>>>> origin/main
  1. どちらか、または両方の内容を残し、マークを削除して保存
  2. その後、以下を実行:
   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設定ファイルで明示的に使い分けます。

  1. アカウントごとにSSHキーを生成
    例:~/.ssh/id_ed25519_work, ~/.ssh/id_ed25519_personal
  2. ~/.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
  1. .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
年収訴求