Git

githubにブランチを追加して切替

これから「ローカルでブランチを作ってリモート(GitHub)に追加 → そのブランチに切り替える」手順と、逆に「GitHub上でブランチを作ってからローカルで切り替える」手順、あとよく使うコマンドの補足を順に示します。

  1. ローカルで新しいブランチを作ってリモートに追加し、そのブランチに切り替える(推奨)
  • 新しいブランチを作成してすぐ切り替える(git v2.23+ 推奨) git switch -c
  • 古いスタイル(全バージョン対応) git checkout -b
  • 作業してコミットする git add . git commit -m “作業内容の説明”
  • リモート origin に新しいブランチを作ってプッシュし、ローカルブランチに upstream を設定する git push -u origin 説明:-u (–set-upstream) を付けると以降 git push / git pull が簡単になります。
  1. 既にリモートにあるブランチをローカルに取り込み、切り替える
  • 最新のリモート情報を取得 git fetch origin
  • origin/ を追跡するローカルブランチを作って切り替える(推奨) git switch -c –track origin/
  • あるいは古い書き方 git checkout –track origin/
  1. GitHub の Web UI でブランチを作成してからローカルで切り替える
  • GitHub のリポジトリページで、ブランチ選択ドロップダウン(“main” などと書かれた箇所)を開く
  • テキストボックスに新しいブランチ名を入力 → “Create branch: ” を選ぶとリモートブランチが作成されます
  • ローカルで作業するには上の「2)」の手順(git fetch → git switch -c …)を実行してください
  1. GUI/エディタ(例:VS Code)での切り替え
  • VS Code の左下にブランチ名が表示されているのでクリック → “Create new branch” で作成、または一覧から既存ブランチを選んで切り替え
  • 作成後は push でリモートへ送る(VS Code の同期ボタンやコマンドパレットの Git: Push)
  1. よくある注意点とトラブルシュート
  • ブランチ名にスペースは使わない(ハイフンやスラッシュを使う)
  • リモートにプッシュできない場合は権限(保護されたブランチや書き込み権限)を確認
  • 既にローカルに同名ブランチがあると作れないので、その場合は別名にするか既存ブランチを削除・リネームする
  • リモートの更新を取り込みたいときは git fetch → git merge / git rebase あるいは git pull を使う(チームの運用によって rebase/merge を合わせる)

gitブランチ 削除

GitHubの不要なブランチをCLI(コマンドライン)で削除する一般手順を説明します。

1. ブランチ一覧の取得

まず、リモート(GitHub上)のブランチ一覧を表示します。

git fetch -p
git branch -r
  • git fetch -p でリモートの削除されたブランチもローカルから表示されなくなります。

2. 不要なローカルブランチの削除

ローカルブランチ(自分のPCにあるブランチ)を表示するには、以下のコマンドを使用します。

git branch

このコマンドで、今いるリポジトリ内のローカルブランチ一覧が表示されます。

補足

  • 現在チェックアウト中のブランチには * が付きます。
  • より詳細な情報が欲しい場合は:
git branch -v

最新コミット情報も表示されます。

git branch --show-currentは、
現在チェックアウトしている(作業中の)ブランチ名だけを表示するコマンドです。

使い方

git branch --show-current

実行結果例

main

このように、今作業しているブランチの名前だけがシンプルに表示されます。


補足

  • git branch だけだとすべてのローカルブランチ一覧が表示され、
    今いるブランチは * が付いて分かります。
  • git branch --show-current1行だけ現在のブランチ名を出したい時 に便利です。

何か他にも知りたいことがあればご質問ください!

git branch -d ブランチ名      # マージ済みなら安全に削除
git branch -D ブランチ名      # マージしてない場合でも強制削除

3. 不要なリモートブランチの削除(GitHub)

git push origin --delete ブランチ名

このコマンドでGitHub上の指定したブランチを削除します。

git ブランチ 表示 切替

簡潔に表示するコマンド(推奨)

  • git branch –show-current
    • 出力例: feature/add-login
    • ブランチ名だけをシンプルに表示します。

代替コマンド(互換性が高い)

  • git rev-parse –abbrev-ref HEAD
    • 古い Git でも動きます。detached HEAD のときは “HEAD” を返します。

一覧で現在のブランチを確認

  • git branch
    • 出力例:
        develop
      * feature/add-login
        main
      
    • アスタリスク(*)が現在のブランチ。

短いステータスで確認

  • git status -sb
    • 出力例: ## feature/add-login...origin/feature/add-login(ブランチとトラッキング先がわかる)

detached HEAD のときにコミットIDを表示したい場合

  • git rev-parse –abbrev-ref HEAD || git rev-parse –short HEAD
    • HEAD のときはコミット短縮IDを表示するように使えます。

スクリプトやプロンプトで使う例

  • Bash: current=$(git branch –show-current)
  • PowerShell: $current = git rev-parse –abbrev-ref HEAD

ブランチの切り替え(作業ブランチを変更する)

  • 現在のブランチから別のブランチへ移る(既存ブランチ):
    • git switch ブランチ名
    • 代替: git checkout ブランチ名
  • 新しいブランチを作って切り替える:
    • git switch -c 新しいブランチ名
    • 代替: git checkout -b 新しいブランチ名
  • 例:
    • git switch feature/foo
    • git switch -c feature/new

候補 B — リモート URL を HTTPS から SSH に切り替える(プッシュ/フェッチの接続方式)

Git ブランチ

GitHub Desktop で Main ブランチから V1(開発用ブランチ)を作り、開発が終わったら Main に取り込む(マージ)するという標準的なワークフローは問題なくできます。以下に、実際の手順(画面操作)と注意点を分かりやすくまとめます。私は手を動かして実行する代わりに、やり方を段階的に案内します。

やることの概略(ストーリー)

  • Main から新しいブランチ V1 を作る
  • V1 上で変更をコミットしてリモートに公開(Publish)
  • 必要に応じてリモートの Main の最新を取り込む(同期)
  • 開発完了後、V1 を Main に取り込む(マージ) — GitHub Desktop でローカルマージするか、GitHub.com で Pull Request を作る
  • マージ後、Main をリモートに push してブランチを整理

具体的な手順(GitHub Desktop)

  1. Main から V1 ブランチを作る
  • GitHub Desktop を開く。画面左上の Current branch(現在のブランチ)ドロップダウンを開く。
  • 「New branch」または「Create new branch」を選び、Name に V1(例: v1)を入力して作成。
  • これでローカルに v1 ブランチが作成され、そのブランチに切り替わります。
  1. 開発(変更を行いコミット)
  • コードを編集 → GitHub Desktop に戻り変更内容を確認。
  • 変更に説明的なコミットメッセージを書いて Commit to v1 を実行。
  • 作業を続ける場合は必要に応じてコミットを重ねます。
  1. ブランチをリモートに公開(push)
  • 画面上に「Publish branch」ボタンが出ているのでクリックしてリモート(origin)にブランチを作成・push。
  1. (任意だが推奨)Main の最新を取り込む(ブランチを最新化)
  • 他の人が Main を更新している可能性があるので、定期的に v1 に Main の変更を取り込むのが安全です。
    • GitHub Desktop で v1 にいる状態で、Repository メニュー → Fetch origin(または Pull origin)を行い、次に Branch → Merge into current branch… を選び、マージ元として main を選択して v1 に取り込みます。
    • コンフリクトが出たら GitHub Desktop が知らせてくれるので、指示に従って手動で解決してコミットします。
  1. 開発完了 → Main に取り込む(2つの方法) A. GitHub.com で Pull Request を作る(推奨、レビューが必要な場合)
  • GitHub Desktop の上部に「Create Pull Request」ボタンが表示されるので押すとブラウザで PR 作成ページが開きます。
  • PR 上でレビュー・CI 実行・マージを経て、マージボタン(Merge)で main に統合します。
  • マージ後、ローカルの main を GitHub Desktop で Fetch/Pull して最新にします。

B. ローカルでマージしてから push する(小規模・単独作業向け)

WindowsでGitにSSHキーを使って接続

WindowsでGitにSSHキーを使って接続

プログラミングを始めたばかりの方でも、Gitを使ってコード管理を行う機会はすぐにやってきます。Windows環境でGitをセットアップし、GitHubと連携して安全にコードを管理するための手順を、初学者向けにわかりやすく解説します。

この記事では、特に SSHキー を使ってGitHubと認証する方法を説明します。SSHキーを使うことで、毎回パスワードを入力することなく、安全にGitHubへ接続できます。


1. Gitのインストール

まず、GitをWindowsにインストールします。Gitはソースコード管理に欠かせないツールで、GitHubとの連携にも必須です。

Gitのダウンロード

  1. Git公式サイトにアクセスします。
  2. Download for Windows」ボタンをクリックしてインストーラーをダウンロードします。

Gitのインストール手順

  1. ダウンロードしたインストーラー(git-*.exe)を実行します。
  2. ウィザードが表示されるので、基本的には デフォルト設定 のまま「Next」をクリックして進めてください。
  3. 注意するポイント
    • 「Adjusting your PATH environment」では「Git from the command line and also from 3rd-party software」を選択します。これにより、コマンドプロンプトやGit BashからGitを使用できるようになります。

インストール確認

インストールが完了したら、Git Bash または コマンドプロンプト を開き、以下のコマンドでインストールが成功したか確認します:

git --version

出力例

git version 2.42.0.windows.1

これでGitのインストールが完了しました!


2. GitHubアカウントの作成

まだGitHubのアカウントを持っていない場合は、以下の手順で作成しましょう。

  1. GitHub公式サイトにアクセスします。
  2. Sign up」ボタンをクリックし、必要な情報(ユーザー名、メールアドレス、パスワード)を入力してアカウントを作成します。
  3. 登録したメールアドレス宛に確認メールが届くので、リンクをクリックして確認を完了します。

これでGitHubアカウントが作成されました!


3. SSHキーの生成

GitHubに安全に接続するために、SSHキーを生成します。SSHキーは公開鍵暗号方式を利用し、パスワードなしで安全に認証する方法です。

SSHキーの生成手順

  1. Git Bash を開きます。
  2. 以下のコマンドを入力して、SSHキーを生成します:
ssh-keygen -t ed25519 -C "GitHubに登録したメールアドレス"
  • -t ed25519:最新かつ安全なED25519形式の鍵を生成します。
  • -C:コメントとしてメールアドレスを追加します。

手順の流れ

  • ファイル保存場所の指定:

GitHub

GitHubのプラン変更は、通常、GitHubのウェブサイト上から簡単に行うことができます。

プランを変更する手順は、主に以下の通りです。

1. 組織または個人の設定ページへアクセスする

  1. GitHubにサインインします。
  2. 画面右上のプロフィール写真をクリックします。
  3. プランを変更したいアカウントの種類に応じて、以下のいずれかを選択します。
    • 個人アカウントの場合: 「Settings(設定)」 を選択します。
    • 組織アカウント(会社などのチームで利用している場合)の場合: 「Your organizations(あなたの組織)」 から該当の組織を選択し、「Settings(設定)」 を選択します。

2. Billing(支払い)設定へ移動する

  1. 設定画面のサイドバーで**「Billing and plans(請求とプラン)」** または 「Billing & plans」 といった請求関連の項目を探し、クリックします。

3. プランを変更する

  1. 現在のプランが表示されているセクションで、「Edit plan(プランの編集)」 や 「Upgrade(アップグレード)」「Downgrade(ダウングレード)」 といったボタンを探し、クリックします。
  2. 希望するプラン(例:Free、Team、Enterprise)を選択し、画面の指示に従って変更を確定します。
    • アップグレード(例:FreeからTeamへ) の場合は、チームのメンバー数や支払い情報を確認・入力します。
    • ダウングレード(例:TeamからFreeへ) の場合は、機能制限に関する警告が表示されることがありますので、内容を確認してから進めてください。

🚨 注意点

  • 組織アカウントの場合: プラン変更ができるのは、通常、組織のオーナー(Owner) または 管理者(Billing Manager) 権限を持つユーザーのみです。
  • ダウングレード: プランをダウングレードすると、それまで利用できていた高度な機能(必須レビュー、プライベートリポジトリの容量など)が利用できなくなる場合があります。変更前に、現在のプランで利用している機能が新しいプランでも提供されるか確認が必要です。

具体的な操作はGitHubのインターフェースの更新によって変わる可能性があるため、迷われた際はGitHubの公式ドキュメントを参照いただくのが確実です。

お仕事でGitHub(ギットハブ)を利用される場合、有料プランを検討する必要があることが多いです。

GitHubには無料プラン (Free) がありますが、チームでの開発をより円滑に進めるための高度な機能や、大規模な組織での利用に適した機能は有料プラン (TeamやEnterprise) で提供されています。

主なプランとその特徴は以下の通りです:

💰 GitHubの主な有料プラン

  • GitHub Teamプラン
    • 料金の目安: ユーザーあたり 月額 $4 程度(年払い割引あり)
    • 特徴: Freeプランの機能に加え、必須レビューコードオーナーといったチームでの高度な共同作業機能が追加されます。中小規模のチーム向けです。
  • GitHub Enterpriseプラン
    • 料金の目安: ユーザーあたり 月額 $21 程度(年間ライセンス契約)
    • 特徴: Teamプランの機能に加え、大規模組織向けのセキュリティ、スケーラビリティ、一元的なID管理 (Enterprise Managed Users)、詳細な監査ログAPIなどが強化されています。エンタープライズ級のサポートも利用可能です。

✨ 無料プラン (Free) でできること

個人開発や小規模なプロジェクトであれば、無料プランでも以下の機能が利用できます。

git clone

GitHubでリポジトリのZIPファイルをPCにダウンロードした場合、それは単なるスナップショット(特定の時点のファイル群)であり、Gitの履歴情報やリモートとの連携情報が失われています。したがって、ダウンロードしたZIPファイルから直接Gitリポジトリとして連携させることはできません。

この場合、「Gitリポジトリをダウンロード」ではなく、「Gitリポジトリをクローン」するというアプローチを取る必要があります。クローンすることで、Gitの全ての履歴とリモートへの参照が設定された状態でローカルにリポジトリが作成されます。

しかし、もしどうしてもZIPファイルでダウンロードしたファイル群から作業を始めたいのであれば、以下の手順でリモートリポジトリと連携させることができます。


シナリオ1: GitHubリポジトリをまだクローンしていない場合 (推奨アプローチ)

これが最も推奨される方法です。ZIPファイルをダウンロードして作業するのではなく、最初からgit cloneを使用します。

  1. ZIPファイルを削除する(または別の場所に移動する): ZIPファイルでダウンロードしたディレクトリは不要になります。

  2. GitHubリポジトリのURLを取得する: GitHubのリポジトリページに行き、「Code」ボタンをクリックして、HTTPSまたはSSHのURLをコピーします。

    • HTTPS: https://github.com/your-username/your-repo.git
    • SSH: git@github.com:your-username/your-repo.git (SSHキーを設定済みの場合)
  3. コマンドラインでリポジトリをクローンする: 作業したいディレクトリに移動し、以下のコマンドを実行します。

    git clone <リポジトリのURL>
    

    例:

    git clone https://github.com/techentrelab/hugo.git
    

    これにより、hugo という名前のディレクトリが作成され、その中にリポジトリの全てのファイルとGitの履歴、そしてoriginという名前のリモート設定が自動的に行われます。

  4. 作成されたディレクトリに移動して作業を開始する:

    cd hugo
    

これで、ローカルリポジトリがリモートのGitHubリポジトリと完全に連携された状態になります。git pullgit push がすぐに利用可能です。


シナリオ2: ZIPファイルでダウンロードしたファイル群から作業を始めたい場合 (非推奨だが、手順は以下)

この方法は、Gitの履歴をすべて破棄し、新しいリポジトリとして「再出発」するような形になります。既存のリモートリポジトリにコミットをプッシュしたい場合は、さらに複雑な手順が必要になる場合があります。

前提: ZIPファイルを展開したディレクトリ(例: hugo)があり、その中にリポジトリのファイル群が入っているとします。

  1. 展開したディレクトリに移動する:

    cd /path/to/your/unzipped/hugo
    
  2. 新しいGitリポジトリを初期化する: これにより、現在のディレクトリが新しいGitリポジトリとして認識されます。

    git init
    
  3. 全てのファイルをステージングする: ダウンロードしたファイル群を、新しいリポジトリの最初のコミットとして準備します。

    git add .
    
  4. 最初のコミットを作成する:

    git commit -m "Initial commit from downloaded zip"
    
  5. GitHubリポジトリのURLを取得する: シナリオ1と同じように、GitHubのリポジトリページからURLをコピーします。

Gitpod

Ona (formerly Gitpod)

https://ona.com/

Gitpodの料金プランは、利用するユーザーのタイプや利用時間によって異なります。主に以下の3つのプランがあります。

  1. Free (無料プラン):

    • 個人利用向けで、毎月50時間の利用時間が提供されます。
    • パブリックリポジトリやプライベートリポジトリで利用可能です。
    • 基本的な機能はすべて利用できます。
    • 小規模なプロジェクトやGitpodを試してみたい場合に最適です。
  2. Standard (標準プラン):

    • 月額$9で、毎月500時間の利用時間が提供されます。
    • 無料プランの機能に加えて、より多くの利用時間が必要な個人開発者やフリーランス向けです。
    • (2023年9月時点の情報であり、料金や時間は変更される可能性があります)
  3. Teams & Enterprise (チーム&エンタープライズプラン):

    • 大規模なチームや企業向けのカスタムプランです。
    • 無制限の利用時間、専用サポート、シングルサインオン(SSO)、セルフホスティングオプションなど、高度な機能が提供されます。
    • 具体的な料金は、Gitpodの営業チームに問い合わせて見積もりを取る形になります。

これらのプランは、Gitpodの公式サイトで詳細を確認できます。時期によってプラン内容や料金が変更されることもあるので、最新の情報は公式サイトで確認することをおすすめします。

Gitpodは、クラウドベースの統合開発環境(IDE)を提供するサービスです。コードを開発するために必要な環境を、ブラウザ上で瞬時に起動できます。

主な特徴は以下の通りです。

  • 瞬時の開発環境起動: GitHub、GitLab、Bitbucketなどのリポジトリから、わずか数秒で完全に機能する開発環境を起動できます。
  • ブラウザベースのIDE: ローカルに何もインストールすることなく、ブラウザ上でVS CodeベースのIDEを利用できます。
  • Dockerfileによる環境定義: プロジェクトごとに必要なツールや依存関係をDockerfileで定義でき、開発環境の一貫性を保てます。
  • 共同開発: 開発環境を簡単に共有し、チームメンバーと共同で作業できます。
  • 自動化: 継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインと統合し、開発ワークフローを自動化できます。
  • 様々な言語とフレームワークのサポート: 多くのプログラミング言語やフレームワークに対応しています。

Gitpodを利用することで、開発者は環境構築の手間から解放され、すぐにコードを書き始めることができます。特に、新しいプロジェクトに参加する際や、異なる環境で作業する必要がある場合に非常に便利です。

例えば、GitHubのリポジトリのURLの前にgitpod.io/#を付けるだけで、そのリポジトリのGitpod環境を起動できます。

Gitpodのロゴは以下のようなものです。