【GitHub】ローカルファイルを新規リモートリポジトリにアップロードする方法【エラー対応もあり】

Cドライブ内のGitHubフォルダにtestフォルダを作成 Git

GitHubで管理する予定なくプログラムを書いていたんだけど、気が変わってGitHubにアップロードし、バージョン管理などを行いたい場合があると思います。

本記事では、ローカルに置いてあるプログラム(ネット上に保存していないプログラム)をGitHubで管理するまでの方法を初心者向けに解説します。
ただし、GitHubをある程度使ったことのある人を対象とします。

前提

Windows 11での説明ですが、Macでも似たような手順だと思います。

方法

作業フォルダに移動

エクスプローラーでプログラムが置いてあるフォルダまで移動しましょう。

必要であれば、GitHubアップロード用のフォルダを別で作り、その中に用途ごとにフォルダを分けプログラムを置いておくと管理しやすいです。

今回はCドライブ直下にGitHubフォルダを作り、その中にtestフォルダを作って作業フォルダとします。
testフォルダ内にはソースコードのダミーとしてsample1.txt、sample2.txtを置いています。

Cドライブ内のGitHubフォルダにtestフォルダを作成

ローカルリポジトリの作成

ターミナルでtestフォルダに移動し(今回なら cd C:\GitHub\test)、

git init

を実行してください。testフォルダ内に.gitフォルダが作られます。

testフォルダに.gitフォルダが作られた

※ .gitフォルダは、隠しフォルダを表示する設定にしないと見えません。

リモートリポジトリの作成

次はGitHubのページで作業します。
https://github.com/に移動してください。

新規リポジトリを作成します。

新規リポジトリを作成する画面
  • リポジトリ名
  • 説明
  • 公開範囲(Public or Private)

などを入力して、Create Repository をクリックします。
今回は Add a README file にチェックを入れて、README ファイルを作成しました。

リポジトリができたら、SSHのURLをコピーしておきます。(URL右の□マークを押すとコピーできます)

リモートリポジトリのSSHのURLを取得

ローカルリポジトリとリモートリポジトリを紐づける

再びPCのターミナルにもどり、testフォルダに移動した状態で、

git remote add origin <あなたのリモートリポジトリURL>

を実行します。<あなたのリモートリポジトリURL>を、先ほど取得したSSHのURLで置き換えてください。

実行しても特にメッセージは表示されませんが、確認として

git remote -v

を実行して

origin  git@github.com:(あなたのGitHubアカウント名)/test.git (fetch)
origin  git@github.com:(あなたのGitHubアカウント名)/test.git (push)

のようなものが表示されていれば成功です。

リモートリポジトリにローカルファイルをアップロードする

git pull origin main

でREADMEファイル等を一旦ローカルにコピーします。

最後に、ローカルのファイルをGitHubにアップロードするため、

git add -A
git commit -m "コメント"
git push origin main

を実行してください。

git add の後ろには、アップロードするファイルを記載します。フォルダ内のすべてのファイルなら「-A」とします。ワイルドカード(*.txtなど)も使えます。

以上を実行後、github.comにアクセスすれば、ローカルのファイルがアップロードできているのが確認できます。

リモートリポジトリにアップロード完了

こんなエラーが出たときは?

remote: Repository not found.

git remote add時のエラー。

リモートリポジトリのURLとしては、SSHのURLを取得してください。https://から始まるURLだとうまくいかないことがあります。また、GitHubとPCをSSH接続するための設定を事前に済ませておく必要があります。

間違えたURLを登録してしまっている場合は

git remote rm origin

でリモートリポジトリのURLを削除した後、再度

git remote add origin <あなたのリモートリポジトリURL>

を実行してください。

error: src refspec main does not match any

git push時のエラー。

git branch

でブランチを確認してください。mainであればOKです。

masterになっていれば、

git config --global init.defaultBranch main

でデフォルトブランチ名をmainに変更しましょう。また、すでにmasterになっているローカルブランチは

git branch -m master main

でmainへ変更できます。

error: failed to push some refs to …

git push時のエラー。

リモートでREADMEファイルや.gitignoreを作成したのに、ローカルからpushしようとしています。ローカルとリモートのファイルが競合しているので

git pull origin main

により、まずリモートのファイルをローカルにpullしてください。このとき、

fatal: refusing to merge unrelated histories

というエラーが出たときは、

git merge --allow-unrelated-histories origin/main

により強制的にマージします。(pull = fetch + merge)

その後、pushしてください。

git push origin main

コメント

タイトルとURLをコピーしました