新しくパソコン(ローカル環境)で作成したプログラムのフォルダを、Gitを使ってバージョン管理し、GitHubにアップロード(Push)するまでの一連の流れを解説します。
GitやGitHubを使い始めたばかりの段階では、コマンドを実行する順番や、ローカルとリモート(GitHub)を紐付ける仕組みが分かりづらく感じられることがあります。ここでは、実際の操作手順に沿って、各コマンドの意味を補足しながら進めていきます。
全体の手順ロードマップ
作業の全体像は以下の通りです。前半でローカルPC側の準備を行い、後半でGitHubとの連携を行います。
- ローカルPCでプロジェクトフォルダを用意し、コマンドラインで移動する
git initでGitリポジトリを初期化する- ファイルをステージングエリアに追加し、コミットする
- GitHub上で新しいリポジトリを作成する
- ローカルリポジトリとGitHubを紐付ける
git pushで変更内容をGitHubに送信する
1. プロジェクトフォルダの用意と移動
まずは、バージョン管理を行いたいフォルダ(プロジェクト)を用意します。すでに作成済みのフォルダがある場合は、そのフォルダを使用します。新規に作成する場合は、コマンドライン(ターミナルやコマンドプロンプトなど)で以下のコマンドを実行してフォルダを作成し、その中に移動します。
# 「my-project」という名前のフォルダを作成
mkdir my-project
# 作成したフォルダへ移動
cd my-project
2. Gitリポジトリの初期化 (git init)
プロジェクトフォルダの直下にいる状態で、以下のコマンドを実行します。これにより、フォルダ内でGitによる変更履歴の記録が開始されます。
git init
実行すると、フォルダ内に非表示の .git というディレクトリが作成され、ローカルリポジトリがセットアップされます。
3. ファイルの作成とコミット (add, commit)
次に、履歴を残すためのファイルを作成します。ここでは例として、README.md という名前のファイルを新規作成します。
# README.mdファイルを作成し、簡単な説明を書き込む
echo "# My First Project" > README.md
ファイルを作成したら、現在の変更状況を確認するために git status を実行します。
git status
出力結果に、追跡されていないファイル(Untracked files)として README.md が赤文字で表示されます。このファイルを履歴の対象にするために、ステージングエリアに追加します。
# 特定のファイルをステージングに追加
git add README.md
# または、すべての変更ファイルをまとめて追加する場合
git add .
ステージングエリアへの追加が完了したら、変更履歴を記録(コミット)します。-m の後ろに、変更内容を表す分かりやすいメッセージを指定します。
git commit -m "first commit"
4. GitHubで新規リポジトリを作成する
ローカル側で最初のコミットが完了したら、次はGitHubにサインインし、アップロード先となるリモートリポジトリを用意します。
- GitHubのトップページ右上にある「+」アイコンから「New repository」を選択します。
- 「Repository name」にプロジェクト名(例:
my-project)を入力します。 - 公開設定(Public または Private)を選択します。
- その他の初期化ファイル(READMEや.gitignore、ライセンスなど)の追加オプションは、ローカルですでに作成しているためすべてチェックを外した状態(空の状態)にしておきます。
- 「Create repository」ボタンをクリックします。
リポジトリが作成されると、「Quick setup」という画面が表示されます。そこに記述されている https://github.com/.../my-project.git というURLをコピーします。
5. ローカルリポジトリとGitHubの紐付け (remote add)
コピーしたURLを使用して、ローカルPCのGitリポジトリにGitHub上のアップロード先(リモートリポジトリ)の情報を登録します。
git remote add origin https://github.com/ユーザー名/my-project.git
上記の origin は、このリモートリポジトリURLに対するローカル側での「エイリアス(別名)」です。慣例として、メインのリモートリポジトリには origin という名前が付けられます。
6. デフォルトブランチ名の設定とPushの実行 (branch, push)
一般的にGitHubではデフォルトのメインブランチ名として main が使用されます。ローカルのデフォルトブランチ名が master になっている場合があるため、ブランチ名を明示的に main へ変更します。
git branch -M main
最後に、ローカルのコミット履歴をGitHubへアップロードします。
git push -u origin main
-u オプション(--set-upstream)を付与することで、次回以降は git push や git pull と入力するだけで、自動的に origin リポジトリの main ブランチを対象として通信を行ってくれるようになります。
初心者が遭遇しやすいエラーと対処法
1. 認証エラー (Permission denied)
git push を実行した際に、認証に失敗して書き込み権限がない旨のエラーが表示されることがあります。現在、GitHubはパスワード認証を廃止しているため、以下のいずれかの方法で認証を設定する必要があります。
- SSHキーの設定:SSH公開鍵を生成し、GitHubのアカウント設定(SSH and GPG keys)に登録します。その場合、リモートURLは
[email protected]:ユーザー名/my-project.gitを指定します。 - パーソナルアクセストークン(PAT):GitHubの設定から開発者向けトークンを生成し、パスワードの代わりにそのトークン文字列を入力します。
2. すでにリモートが登録されているエラー (fatal: remote origin already exists)
別のリポジトリURLをすでに origin という名前で登録してしまっている場合に出るエラーです。以下のコマンドで一度削除するか、URLを更新します。
# 現在登録されているリモートURLを確認する
git remote -v
# 登録済みの origin を削除する
git remote remove origin
# 再度、正しいURLで登録し直す
git remote add origin <URL>
まとめ
ローカルプロジェクトをGitHubで管理・公開するための基本的な流れをまとめました。一度セットアップしてしまえば、日々の開発では git add、git commit、git push の3つのコマンドを繰り返すことで、作成したコードをGitHub上に残していくことができます。まずは空のフォルダとファイルを使って、一連の手順を試してみることをおすすめします。