TechHive Academy
TechHive Academy ドキュメント

Git セットアップガイド (CLI)

TechHive Academy では、Gitea サーバーを利用したコード管理を行っています。 このガイドでは、ターミナル(コマンドライン)操作を基本とした環境構築手順を説明します。

[!TIP] GUI ツール(SourceTree 等)を使用したい場合は、こちらの SourceTree セットアップガイド を参照してください。

1. Gitea アカウントの確認

講師または管理者から案内された Gitea アカウント情報を確認してください。 まだアカウントをお持ちでない場合は、ダッシュボードの「設定」>「Git アカウント連携」から作成・連携を行うことができます。

2. SSH キーの生成と登録 (推奨)

macOS では HTTPS 通信よりも SSH 通信を推奨しています。以下の手順で SSH キーを作成し、Gitea に登録してください。

  1. ターミナルを開く
  2. SSH キーの生成
    ssh-keygen -t ed25519 -C "your_email@example.com"
    
    ※ 生成時に Enter file in which to save the key と表示されます。既に別の用途で SSH キー(id_ed25519 等)を作成済みの場合は、上書きを避けるために /Users/あなたのユーザー名/.ssh/id_ed25519_techhive のように別のファイル名をフルパスで入力してください。
  3. 公開キーのコピー
    # 手順2でファイル名を指定した場合は、そのファイル名に .pub をつけたものを指定してください
    pbcopy < ~/.ssh/id_ed25519_techhive.pub
    
  4. Gitea に登録 Gitea の「設定」>「SSH / GPG キー」を開き、「キーを追加」ボタンからコピーした公開キーを貼り付けて保存してください。

3. SSH Config の設定

複数の SSH キーを使い分ける場合や、特定のホストに対して常に特定のキーを使用するように設定します。

  1. config ファイルの作成・権限設定 ~/.ssh ディレクトリに config ファイルを作成し、適切な権限を設定します。

    touch ~/.ssh/config
    chmod 600 ~/.ssh/config
    
  2. ホスト情報の記述 エディタで ~/.ssh/config を開き、以下の内容を記述します。

    Host ssh.techhive.bz (任意のタイトル)
      HostName ssh.techhive.bz (必ずこの値)
      Port 52666
      User git
      IdentityFile ~/.ssh/id_ed25519_techhive
      IdentitiesOnly yes
    

    IdentityFile には、手順2で作成した秘密鍵のパスを正確に設定してください。 ディレクトリパス(~/.ssh/)を省略せず、作成したファイル名に合わせて記述することが重要です。

    [!IMPORTANT] Host に記述した名前(例: ssh.techhive.bz)は、リポジトリをクローンする際のホスト名として使用します。 独自のエイリアスをつけた場合は、クローン時の URL もその名前に書き換える必要があります。

4. ローカル作業ディレクトリの設定

TechHive Academy 専用のディレクトリを作成し、そのディレクトリ内でのみ特定の設定が適用されるようにします。

# ファイル名は一例です。好きな名前をつけてください。
mkdir -p ~/Learning/projects
cd ~/Learning/projects

5. Git の個別設定 (マルチアカウント対応)

複数の Git アカウント(GitHub と TechHive Gitea など)を使い分ける場合、作業ディレクトリごとに設定(ユーザー名やメールアドレス等)を自動的に切り替えるように設定することを強く推奨します。

  1. TechHive 用の設定ファイルを作成 ~/.gitconfig_techhive(ファイル名は任意)を作成し、TechHive Academy 用のユーザー情報を記述します。

    touch ~/.gitconfig_techhive
    

    エディタで開き、以下を記述します。

    [user]
      name = Your Name
      email = your_gitea_email@example.com
    [core]
      sshCommand = ssh -i ~/.ssh/id_ed25519_techhive
    
  2. メインの .gitconfig に条件付きインクルードを追加 ~/.gitconfig を開き、末尾に以下の内容を追記します。

    [includeIf "gitdir:~/Learning/projects/"]
      path = ~/.gitconfig_techhive
    

    gitdir: のパスの末尾には必ず / を含めてください。 これにより、~/Learning/projects/ 配下にあるすべてのリポジトリでは自動的に TechHive 用のメールアドレスがコミットに使用されるようになります。

6. リポジトリの操作 (基本コマンド)

# クローン (SSH ホスト名は config の Host に書き換えてください)
# 例: git clone ssh://git@ssh.techhive.bz:52666/username/repo.git
git clone ssh://git@ssh.techhive.bz:52666/username/repo.git

# 変更の確認
git status

# ステージングとコミット
git add .
git commit -m "feat: initial commit"

# プッシュ
git push origin main

7. トラブルシューティング

  • Permission denied (publickey): SSH キーが ユーザー設定 に正しく登録されているか、またローカルの SSH エージェントにキーが読み込まれているか確認してください。
  • HTTPS 通信のエラー: macOS ではキーチェーンの影響で HTTPS 認証が失敗することがあります。可能な限り SSH を使用してください。