ローカルリポジトリを後からGitHubにpushする方法

GitHub
OpenClipart-Vectors / Pixabay

ローカルリポジトリをGitHubにpushする際に、ちょっと手間取りましたので、備忘録として残しておきたいと思います。

GitHub 初期設定

まずはユーザ名とメールアドレスを設定しましょう。

globalオプションを使用するとログインユーザであればどこにリポジトリを作っても反映されます。

$ git config --global user.name ユーザ名
$ git config --global user.email メールアドレス

 

リポジトリ作成

# ローカルリポジトリを作成するディレクトリに移動する
$ cd hoge

# ローカルリポジトリを作成する
$ git init
$ git add .
$ git commit -m "first commit"

 

# リモートリポジトリのアクセス先を設定する
$ git remote add origin https://github.com/GitHubのユーザ名/GitHubのリポジトリ名.git

 

# pushする
$ git push -u origin master

 

ここで以下のエラーが発生しました。

Username for ‘https://github.com’: GitHubのユーザ名
Password for ‘https://GitHubのユーザ名@github.com’:
To https://github.com/GitHubのユーザ名/GitHubのリポジトリ名.git
! [rejected]        master -> master (fetch first)
error: failed to push some refs to ‘https://github.com/GitHubのユーザ名/GitHubのリポジトリ名.git’
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ‘git pull …’) before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push –help’ for details.

 

# hintに従いpull
$ git pull origin master

今度は以下のエラーが発生しました。

warning: no common commits
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/GitHubのユーザ名/GitHubのリポジトリ名
 * branch            master -> FETCH_HEAD
 * [new branch]      master -> origin/master
fatal: refusing to merge unrelated histories

 

上記のエラーをネットで調べたところ、マージすると良いとことでしたので
以下のマージを実行しました。

# merge
$ git merge --allow-unrelated-histories origin/master
Merge made by the 'recursive' strategy.
 README.md | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

 

マージがうまく行ったので、再びプッシュします。

$ git push -u origin master
Enumerating objects: 97, done.
Counting objects: 100% (97/97), done.
Delta compression using up to 8 threads
Compressing objects: 100% (82/82), done.
Writing objects: 100% (96/96), 313.60 KiB | 13.63 MiB/s, done.
Total 96 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/GitHubのユーザ名/GitHubのリポジトリ名.git
   be2668e..e50d248  master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

 

ようやくGitHubにプッシュすることが出来ました。
Gitのエラーはすぐに忘れてしまうので、備忘録として残しておきました。

参考にされる際は自己責任にてお願い致します。

最後までお読み頂きありがとうございます!

コメント