ローカルリポジトリを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.
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
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のエラーはすぐに忘れてしまうので、備忘録として残しておきました。
参考にされる際は自己責任にてお願い致します。
最後までお読み頂きありがとうございます!
コメント