新しく購入したMacにGitを入れたがpushで少しハマった

Windowsの時はこんなことやったっけなと思いつつ、pushできなくて少しハマったので忘備録です。 前提として、README.mdが含まれたリモートリポジトリが作成済みであり、それをpullするところまではスムーズでした。

ハマったポイントは2つで、解消したらpushできました。

1)リモートリポジトリの指定

リモートリポジトリの指定URLは、https接続時とssh接続時で変わりますが、適切に指定できていなかったのが問題だった。 私の場合、https接続でpushしたかったので、下記のようにやりました。

  1. git remote -v で、現在指定されているURLを確認する。
  2. https://github.com/{アカウント名}/{リモートリポジトリ名}.git になっていなかったら、git remote rm origin で指定を削除する。
  3. git remote -v で、指定が削除されているか確認する。
  4. git remote add origin https://github.com/{アカウント名}/{リモートリポジトリ名}.git で、URLを指定する。
  5. git remote -v で、正しく指定できているか確認する。

2)メールアドレスの公開設定

上の設定をした上でpushしたら、「You can make your email public or disable this protection by visiting」と出たので、親切に教えてくれているhttp://github.com/settings/emailsからメールアドレスの公開設定を行った。

最近アカウントのメールアドレスの変更をしたが、その時にいじった記憶があるので、心当たりはあった。

下記はコマンドの履歴です。アカウント名はHogeに伏せた。

1)

yuka:test yuka$ git remote -v
origin  git://github.com/Hoge/test.git (fetch)
origin  git://github.com/Hoge/test.git (push)

yuka:test yuka$ git remote rm origin
yuka:test yuka$ git remote -v
yuka:test yuka$ git remote add origin git@github.com:Hoge/test.git

yuka:test yuka$ git remote -v
origin  git@github.com:Hoge/test.git (fetch)
origin  git@github.com:Hoge/test.git (push)

yuka:test yuka$ git remote rm origin
yuka:test yuka$ git remote add origin https://github.com/Hoge/test.git
yuka:test yuka$ git remote -v

origin  https://github.com/Hoge/test.git (fetch)
origin  https://github.com/Hoge/test.git (push)

下記記事はssh使いたい時の方法が書かれてますが、参考になりました。 qiita.com

2)

yuka:test yuka$ git push -u origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 302 bytes | 302.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: http://github.com/settings/emails
To https://github.com/Hoge/test.git
 ! [remote rejected] master -> master (push declined due to email privacy restrictions)
error: failed to push some refs to 'https://github.com/Hoge/test.git'

yuka:test yuka$ git push -u origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 302 bytes | 302.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/Hoge/test.git
   350221a..7aaae2a  master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.