Open2

GitHubでのリポジトリ新規作成からVSCode+Git Bashでのローカルリポジトリ作成、紐付けまで

yankeeyankee

やりたいこと

ローカルで作成済みのソースコードをGitHubにあげる手順を忘れる⏩ハマるを繰り返しているので、手順をメモしておく。

前提条件

ローカルフォルダ上でプログラミングする間は、リモートリポジトリもローカルリポジトリもつくらず、一通りできたらリモートリポジトリを作成。

手順

1️⃣ GitHub上でリモートリポジトリの作成

GitHubの自分のページから、repository-Newをクリック。

Repository nameや公開範囲などを設定。今回は以下の設定

  • Repository name:M5-Unified-SwitchBot-Meter-BLE
  • 公開:Public
  • Add a README file:オフ
  • Add .gitignore:None
  • Choose a license:MIT
    README,.gitignoreについては今回ローカルで作成済みのため、オフ

2️⃣ VSCode上でローカルリポジトリの作成

VSCode上でGit Bashを立ち上げ、GitHubにあげたいフォルダの直下でgit initコマンドを実行

$ pwd
{WORK DIR}/M5-Unified-SwitchBot-Meter-BLE
$ git init
Initialized empty Git repository in {WORK DIR}/M5-Unified-SwitchBot-Meter-BLE/.git/

3️⃣ リモートリポジトリとローカルリポジトリの紐付け

GitHub上のリモートリポジトリのページから、リモートリポジトリのアドレスをコピー

VSCode上のローカルリポジトリ直下でGit Bashにて以下コマンドを実行

$ git remote add origin https://github.com/yankee-08/M5-Unified-SwitchBot-Meter-BLE.git

特にエラーでなければokなはず
・・・今回は全く問題なくさらっと終わった

yankeeyankee

4️⃣ push時にエラー発生

ローカルリポジトリへのcommitまでは問題なく行えたが、その後pushを実行すると、
「"main"ブランチにリモートブランチはありません。このブランチを公開しますか?」と表示された。
OKを選択すると、
「Can't push refs to remote. Try runngin "Pull"」 first to integrate your changes.」と表示された。
この後、指示に従い、pullも行ったが、それもエラー色々調べると以下の解決方法に至った。

https://qiita.com/mei28/items/85bc881ac1f26332ac15

ここに記載の通り、以下コマンドを実行。

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

リモートリポジトリとローカルリポジトリでそれぞれ最初のコミットを実行していることが原因?
今回のような手順でリポジトリを作成した場合は同じことが起きそう・・
具体的な回避方法はまだわからず。とりあえず初めてリポジトリ作るときはこの手順で逃げる