Gitコマンドでローカルリポジトリを作成し、GitHubに公開する方法

開発(プログラミング)
この記事は約8分で読めます。

GitHubでリポジトリを作成する方法として、ブラウザ上のGUIを使ったやり方が一般的ですが、実際の開発現場ではコマンド操作によるGitの利用が基本となることも少なくありません。
本記事では、Git Bashなどのターミナル環境だけを使って、ローカルリポジトリの作成から、GitHubへの公開までの手順をわかりやすく解説します。

GUIを使わずにすべての操作を完結させることで、Gitの仕組みをより深く理解でき、トラブル時の対応力や応用力も高まります。
これからGitを本格的に使っていきたい方、ターミナル操作に慣れたい方にとって、最初の一歩として最適な内容です。

前提条件

  • Git はインストール済み(git –versionで確認可能)
  • GitHub アカウントを持っている
  • GitHub 上で空のリポジトリをあらかじめ作成しておくこと
    例:https://github.com/your-username/my-repo

🔸 Git は ローカルリポジトリを作成する機能はあるが、GitHub 上のリポジトリ作成はできません

mkdir my-first-repo
cd my-first-repo
Bash

→ 空のプロジェクト用ディレクトリを作成して移動します。

Gitリポジトリを初期化

  • git statusで初期化の確認ができます。 実行前(初期化されていない)
  • git init 実行後、.git フォルダが作成され、このフォルダが Git 管理対象になりました。
  • 再び git status 実行後、ブランチ main 上にいる状態で、まだ何もコミットされておらず、my-first-repo/ フォルダが「Gitにまだ追跡されていないファイル」として存在しています。
D:\application\my-first-repo>git status
fatal: not a git repository (or any of the parent directories): .git
#これは「まだ Git 管理されていない」状態を示します。

D:\application\my-first-repo>git init
Initialized empty Git repository in D:/application/my-first-repo/.git/
#.git フォルダが作成され、このフォルダが Git 管理対象になりました。

D:\application\my-first-repo>git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        my-first-repo/

nothing added to commit but untracked files present (use "git add" to track)
#再び git status 実行後、ブランチ main 上にいる状態で、まだ何もコミットされておらず、my-first-repo/ フォルダが「Gitにまだ追跡されていないファイル」として存在しています。
Bash

→ このフォルダがGitで管理されるようになります。

ファイルを作成し、ステージに追加

echo "# My First Project" > README.md
git add .
Bash

→ README.md ファイルを作って、すべてのファイルをステージに追加します。

最初のコミットを作成

git commit -m "初回コミット"
Bash

→ ステージされたファイルの状態を履歴に記録します。

コミットの履歴(ログ)を確認するコマンドです。

git log
Bash

GitHubで作成したリモートリポジトリを登録

git remote add origin https://github.com/あなたのユーザー名/my-first-repo.git
Bash

→ ローカルとGitHubリポジトリを接続します。
※URLは自分のリポジトリに合わせて変更してください。

GitHubへコードをアップロード(push)

git push -u origin main
Bash

この画面は、GitHub へアクセスするために 認証(ログイン)を求められている状態 です。GitHub アカウントに対して push 操作を許可するためのプロセスです。

「Sign in with your browser」 をクリック

この画面で行うべき操作

🔐 「Authorize git-ecosystem」 ボタンをクリックしてください。真っ白なページが表示されます。

これにより、以下の操作が許可されます。

  • Gists:読み取り・書き込みアクセス
  • Repositories:パブリックおよびプライベートリポジトリへのアクセス
  • Workflow:GitHub Actions の設定変更など(現時点では必要ないですが問題ありません)

🔸 認証後、自動的にローカルの Git クライアントに戻ります。
🔸 認証は一度行えば、しばらくは再入力なしで済みます(トークンが保存されます)。

→ main ブランチとしてGitHubに初回アップロードされます。
※初期ブランチが master の場合は main を master に読み替えてください。

初回push が拒否された場合

GitHub 上のリモートリポジトリ(origin/main)に 初回のgit push が拒否される主な原因は、ローカルとリモートの履歴がつながっていない(無関係な履歴)ことです。

たとえば、GitHub 側でリポジトリ作成時に README などの初回コミットが自動で作成されている場合、
ローカルで git init → git commit を行った履歴とは一致せず、異なるコミットIDの履歴になります。

このように履歴が共有されていない場合、Git は「安全のため push を拒否」します。

解決方法(安全)

次のコマンドでリモートの変更をローカルに統合し、その後 push することで解決できます。

git pull -u origin main --allow-unrelated-histories
Bash

エディタが起動したらそのまま保存します。エディタを閉じます。エディタを閉じた後、Git のコマンドプロンプトが自動で処理を再開します。

git push -u origin main
Bash

処理が完了したら、再度 git push を実行することで、リモートへの反映が可能になります。結論として、ローカルで git init したリポジトリを初めて GitHub に push する場合は、git pull origin main –allow-unrelated-histories を実行する必要があります。

-u を使うと何が便利?

一度 -u オプションを付けるとブランチ名もリモート名も、今後省略可能になります。

git pull
git push
Bash

まとめ

今回の記事では、Gitの基本的なコマンド操作だけを使って、ローカルリポジトリを作成し、それをGitHub上に公開するまでの一連の手順を解説しました。

リポジトリの初期化(git init)から始まり、ファイルの追加、初回コミット、リモートリポジトリの登録(git remote add origin)、そしてリモートへの初回のpush(git push -u origin main)まで、すべての操作はコマンドラインで完結します。最初はとっつきにくく感じるかもしれませんが、ひとつひとつの操作を理解しながら進めることで、Gitの仕組みや動作原理が見えてくるはずです。

GUIツールに頼らず、自分の手でGitの操作をコントロールできるようになると、プロジェクト管理の自由度が一気に高まります。特にチーム開発や複数環境での作業を行う場面では、このような知識が大いに役立つでしょう。

今後は、ブランチの活用や.gitignoreの設定、複数人での共同開発など、さらに一歩踏み込んだGitの使い方にチャレンジしてみてください。

コマンド操作でのGit管理をマスターすることは、開発者としての大きな武器になります。ここまで読み進めていただき、ありがとうございました。

ChatGPT に質問する