1. ホーム
  2. 記事一覧
  3. 【Git入門】GitHubからcloneしてpushまで|基本コマンドの使い方

2025.08.28

【Git入門】GitHubからcloneしてpushまで|基本コマンドの使い方

    はじめに

    Gitを初めて学ぶときにつまずきやすいのが、clonebranchpush といった基本操作のつながりです。リポジトリをコピーしてブランチを作り、作業内容を反映させるまでの流れを理解していないと、研修や実務で「エラーが出て前に進めない…」という状況になりがちです。

    この記事では、GitHubからリポジトリを clone し、ローカルでブランチを作成して、push で変更を反映するまでの一連の操作手順を初心者向けに解説します。ハンズオン形式で進めるため、読んだあとすぐに自分の環境で試せる内容になっています。

    Gitとは?バージョン管理の基礎知識

    Gitは、ファイルの変更履歴を記録・管理するためのバージョン管理システムです。個人の学習から大規模なチーム開発まで、ソフトウェア開発の現場で広く利用されています。

    複数人でプログラムやドキュメントを扱うとき、「誰が・いつ・どこを・どのように変更したかを追跡できるのが大きな特徴です。

    なぜGitを使うのか?

    • 過去の状態への復元

      バグを埋め込んでしまっても、前の安定した状態に戻すことができます。

    • 複数人の作業を統合

      チームで同時に作業しても、ブランチごとに分けて作業し、最終的に一つにまとめることができます。

    • 作業の並行進行

      各メンバーが自分のブランチで作業を進められるため、効率的な開発が可能です。

    • 履歴の可視化と追跡

      誰がいつ、何を変更したかがログに残るため、レビューやトラブル対応がスムーズになります。

    バージョン管理の必要性

    ファイルのバージョンを手作業で管理した経験はないでしょうか。

    main_final.html
    main_final2.html
    main_final2_fixed.html

    このような方法では、ファイルが増えるほど混乱します。Gitを使えば、ファイルは1つのままでも変更履歴をすべて保存でき、過去の状態にも簡単に戻れるため、効率的かつ安全に管理できます。

    Gitについてさらに学びたい方へ

    GitとGitHubの基本をさらに深く知りたい方は、以下の記事もおすすめです。

    ▼Gitを基礎から学びたい方はこちら

    【初心者向け】GitHubとは?必須知識と使い方について解説!

    https://envader.plus/article/68

    ▼Gitコマンド早見表はこちら

    必見!現場で役立つGitコマンド29選をまとめて紹介!

    https://envader.plus/article/402

    Gitハンズオンの準備

    Gitを使い始めるには、事前にいくつかの設定が必要です。

    この記事では詳細な手順の解説は扱いませんが、それぞれの準備に必要な手順を解説したリンクを紹介します。

    Gitの利用に必要な準備

    以下の設定がまだ済んでいない場合は、先に確認しておくとスムーズに操作が進められます。はじめてGitを使う方は、リンク先の記事から順に進めてみてください。

    • Gitのインストール

      Gitコマンドを使うには、まずGit本体をPCにインストールする必要があります。Windows環境での導入方法を以下の記事で解説しています。

      Git Bashのインストール手順Windows環境向けはこちら

      https://envader.plus/article/537

    • GitHubアカウントの作成

      GitHubの利用にはアカウント登録が必須です。Googleアカウントやメールアドレスがあれば簡単に作成できます。

      GitHubとは?ゼロから学ぶ使い方とリポジトリ作成方法

      https://envader.plus/article/553

    • SSH接続の設定

      GitHubとの通信を安全に行うためには、SSHキーを用いた接続設定がおすすめです。以下の記事で鍵の作成からGitHubとの連携方法までを解説しています。

      Git SSHキーの使い方完全ガイド鍵作成からGitHub安全接続まで解説!

      https://envader.plus/article/551

    使用コマンドの解説

    Gitの基本操作は「clone → switch → add → commit → push」という流れで構成されます。

    ここではGitHubからリポジトリを取得し、ローカルで作業して変更を共有するまでに使う代表的なコマンドを紹介します。

    git clone:リモートリポジトリの取得

    git clone は、GitHub上のリポジトリを手元(ローカル環境)にコピーするコマンドです。

    git clone リモートリポジトリのアドレス

    このコマンドを実行すると、指定したリポジトリが履歴ごと複製され、すぐに開発を始められる状態になります。プロジェクトに新たに参加する場合や、別のPCで作業を引き継ぎたいときに使用します。

    git switch:ブランチの切り替えと作成

    git switch は、作業するブランチを変更したり、新しいブランチを作成するためのコマンドです。

    git switch -c 新しいブランチ名

    -c オプションを付けると新しいブランチを作成し、同時にそのブランチへ切り替わります。ブランチは「作業の枝分かれ」を表し、タスクごとに分けて作業することで他の人の変更と混ざらずに進められます。

    git switchについては以下の記事で詳しく解説しています。

    git switch完全ガイド初心者でも安全にブランチを切り替える使い方とハンズオン

    https://envader.plus/article/545

    git add:変更内容のステージング

    git add は、編集したファイルを「コミットの準備リスト」に登録するためのコマンドです。

    git add ファイル名

    ファイルを保存しただけではGitは変更を記録しません。git add を実行することで、「次のコミットにこの変更を含める」と指定できます。

    git commit:作業内容の記録

    git commit は、ステージングした変更を履歴として保存するコマンドです。

    git commit -m "コミットメッセージ"

    コミットメッセージには、その変更内容を簡潔に書くのがポイントです。

    例:

    git commit -m "Hello Worldを追加"

    1回の作業を小分けにコミットするのではなく、「ひとまとまりの変更」を1つのコミットにまとめるのが基本です。

    たとえば次のような単位が「ひとまとまり」のイメージになります。

    • ファイルを新規作成して、初期の内容を追加したとき
    • 1つの関数や処理を完成させたとき
    • バグを修正して、動作確認が取れたとき

    1つの作業を終える前に「途中で保存するためのコミット」を何度もすると、後から履歴を見返したときに意味がわかりにくくなってしまいます。

    git push:変更の反映

    git push は、ローカルの変更をGitHubなどのリモートリポジトリにアップロードするためのコマンドです。

    git push origin ブランチ名

    push を行うことで、自分の作業をチームに共有できます。新しいブランチを初めて push すると、GitHub側にもそのブランチが作成されます。

    gitの基本コマンド、git clonegit addgit commitgit push については、エンベーダーのLinux応用コースで詳しく学ぶことができます。

    エンベーダーLinux応用コース

    https://envader.plus/course/5/scenario/1055

    GitHubからcloneしてpushするまでハンズオン

    ここでは、GitHubにリポジトリを作成し、「clone → ブランチ作成 → 編集 → push」という一連の流れを、実際に手を動かしながら学んでいきます。

    Macではzshなどのターミナル、WindowsではGit Bashを使用した操作を想定して解説します。

    zshについて詳しく知りたい方は、以下の学習コースも参考になります。

    エンベーダーターミナルカスタマイズコース2zshを使いこなそう

    https://envader.plus/course/7/scenario/1034

    Git Bashについては、以下の記事で詳しく解説しています。

    WindowsでGit Bashを使った操作環境の整え方

    https://envader.plus/article/537

    1. GitHubで新しいリポジトリを作成する

    まずはGitHub上に作業用のリモートリポジトリを作成します。

    このリポジトリは、以降の clonepush 操作の受信・送信のストレージになるものです。

    ※すでにお持ちのリポジトリを使いたい場合は、このステップはスキップして構いません。

    1-1. GitHubでリポジトリ作成

    1. 新規リポジトリ作成ページを開く

      新規リポジトリ作成ページ(https://github.com/new)にアクセスします。ログイン済みであれば、すぐに作成フォームが表示されます。

    2. 登録情報を入力

      以下の情報を入力します。

      • Owner

        リポジトリを作成するアカウントを指定します。

      • Repository name

        任意のプロジェクト名を入力します。今回は「my-first-repo」としています。

      • Description(任意)

        リポジトリの説明を入力します。

      • Choose visibility

        リポジトリの公開範囲を設定します。今回は Public を選びます。

      • Add README

        READMEファイルを自動生成します。今回はチェックを入れます。

      • Add .gitignore

        Gitの管理対象から除外したいファイルやフォルダを指定するためのファイルです。今回は「no .gitignore」のままでOKです。 

      • Add license

        リポジトリにライセンスを設定します。今回は「No license」で進めます。

      全ての入力が完了したら「Create repository」ボタンをクリックします 。

    3. リポジトリ作成の確認

      以下のようにリポジトリが表示されれば、作成完了です。

      この一連の手順で、リモートリポジトリが作成されました。

    2.ターミナルを開きコマンドを実行

    Macではターミナル、WindowsではGit Bashを起動し、作業用ディレクトリ(例:デスクトップ)へ移動します。

    cd Desktop/

    3. リモートリポジトリをアドレスをコピー

    GitHubのリポジトリページで「Code」ボタンをクリックし、SSHタブを選択して表示されるアドレスをコピーします。

    4.リポジトリをclone

    以下のコマンドでリモートリポジトリをローカルにコピーします。git@github.com:username/my-first-repo.git の部分は、先ほどコピーしたSSHアドレスに置き換えてください。

    git clone git@github.com:usernama/my-first-repo.git

    コマンド実行例:

    git clone git@github.com:usernama/my-first-repo.git
    Cloning into 'my-first-repo'...
    remote: Enumerating objects: 3, done.
    remote: Counting objects: 100% (3/3), done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
    Receiving objects: 100% (3/3), done.

    これで、PC上にリポジトリが clone できました。

    5.リポジトリへ移動

    clone したリポジトリへ移動します。

    cd my-first-repo/

    ターミナルに表示されるパス名に(main)が付きます。これはgit管理されたリポジトリの main ブランチにいることを意味します。

    Windows:

    user@username MINGW64 ~/Desktop/my-first-repo (main)

    Mac:

    my-first-repo git:(main)

    ※Macのターミナル表示は環境によって異なります。お使いの設定によっては username@MacBook-Pro my-first-repo (main) % のように表示される場合もあります。

    6. ブランチを作成して切り替え

    開発用ブランチ(例:feature/1)を新規作成し、切り替えます。

    git switch -c feature/1

    コマンド実行例:

    Switched to a new branch 'feature/1'

    ターミナルに表示されるパスが (feature/1) に変更されます。これは、feature/1 ブランチを作成し、main ブランチから切り替えられたことを表しています。

    Windows:

    user@username MINGW64 ~/Desktop/my-first-repo (feature/1)

    Mac:

    my-first-repo git:(feature/1)

    7. ファイルを編集

    あたらしくテキストファイルを作成し、テキストを入力します。

    echo Hello World! >> Hello.txt

    作成したテキストの内容を確認します。以下のように表示されれば、テキストファイルが正しく作成されています。

    cat Hello.txt 
    Hello World!

    8. 変更をステージング

    ブランチ上で変更した内容をインデックスにステージング(変更の登録)します。

    git add Hello.txt

    Windowsをお使いの方は、このコマンド実行時に以下のアラートが発生することがあります。これは、改行コードの変換に関するGitからの警告で、通常は無視してOKです。

    warning: in the working copy of 'Hello.txt', LF will be replaced by CRLF the next time Git touches it

    チームで開発していると、OSの違いで改行コードがバラバラになることがあります。その結果、コード上では何も変わっていないのに差分が出てしまうことがあります。そのためGitは、こうした差異を吸収するために自動変換機能を用意しているのです。

    9. 変更をコミット

    次に変更をコミットします。

    git commit -m "Hello.txtを追加"

    コマンド実行例:

    git commit -m "Hello.txtを追加"
    [feature/1 2c40b6d] Hello.txtを追加
     1 file changed, 1 insertion(+)
     create mode 100644 Hello.txt

    10. GitHubにpush

    いよいよ、ローカルで作業していた内容をリモートリポジトリ(GitHub)に送信します。

    以下のコマンドを実行すると、feature/1 ブランチがGitHubにも作成され、変更が反映されます。

    git push origin feature/1

    コマンド実行例:

    git push origin feature/1
    Enumerating objects: 4, done.
    Counting objects: 100% (4/4), done.
    Delta compression using up to 16 threads
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 308 bytes | 308.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
    remote:
    remote: Create a pull request for 'feature/1' on GitHub by visiting:
    remote:      https://github.com/username/my-first-repo/pull/new/feature/1
    remote:
    To https://github.com/username/my-first-repo.git
    
    * [new branch] feature/1 -> feature/1

    この出力の以下の部分は、ローカルのブランチがGitHub上にも新しく作成されたことを意味します。

    * [new branch] feature/1 -> feature/1

    左側が「ローカルのブランチ」、右側が「リモートに作成されたブランチ」を表しており、ブランチ名が一致していることから、そのまま同名でGitHubに反映されたことが分かります。


    ここまでで、Gitでの clone から push、プルリクエストまでの一連の操作が完了しました。この流れを何度か繰り返すことで、Git操作に自然と慣れていくはずです。

    この記事で学んだこと

    GitHubからリポジトリを clone し、ローカルで作業を進め、変更を push で反映する一連の流れは、初心者がまず身につけておきたいGitの基礎です。

    本記事では以下のステップに沿って解説しました。

    • GitHubでのリポジトリ作成
    • ローカルへのclone操作
    • ブランチの作成と切り替え
    • 変更内容のステージ・コミット
    • リモートへのpush

    この基本サイクルは、チーム開発でも個人開発でも日常的に使う操作です。最初は戸惑うことがあっても、何度か繰り返すうちに自然と身につきます。

    慣れてきたら pullrebasestash など、さらに便利なコマンドにも挑戦してみると、開発の幅が広がるでしょう。


    GitやGitHubは、個人開発だけでなくチーム開発にも活用される重要な技術です。今後のステップアップに向けて、Gitの操作方法やGitHubの活用法をさらに学びたい方には、次に紹介する学習方法がおすすめです

    Gitの使い方を学ぶ:おすすめの学習方法

    「Gitの操作、まだちょっと不安かも…」そんな方におすすめなのが、「エンベーダー」です。 Gitの基本コマンドをはじめ、エンジニアに欠かせないLinuxの知識や操作をブラウザ上で気軽に学べる学習サービスです。

    環境構築は不要。わずか5秒で学習環境が起動し、実際にコマンドを入力しながら学べるので、ゲーム感覚で楽しくスキルを習得できます

    エンベーダー公式サイト - Gitの使い方コース

    https://envader.plus/course/5/scenario/1055

    ポイント1:コマンド入力はすべてブラウザ上で完結。実際に手を動かして学べます。

    ポイント2:入力したコマンドの正誤や解説を、すぐに確認できます。

    ポイント3:Gitだけでなく、Linuxやデータベース操作など、今後のキャリアに活かせる学習コースも豊富に用意されています。

    エンベーダーの学習コース一覧

    https://envader.plus/course

    いくつかのコースは無料で体験できるため、「コマンドに慣れたい」「楽しくGitを身につけたい」という方は、ぜひ一度エンベーダーを試してみてください。

    参考資料

    以下のリンクは、この記事で解説した手順や概念に関連する参考資料です。より詳しく学びたい方は、ぜひご覧ください。

    【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

    IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

    プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

    「フリーランスエンジニア」

    近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

    「成功する人とそうでない人の違いは何か?」

    私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

    比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

    多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

    note記事3000いいね超えの殿堂記事 LINE登録で記事を見る

    エンベーダー編集部

    エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

    RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

    関連記事