MacでGitを使っていて、
git pushが失敗する- エラーが表示されて先に進めない
- clone や commit はできるのに push だけできない
といった状況に困ったことはありませんか。
git push ができない原因は、
Gitの操作ミスというより「設定や認証の問題」であることがほとんどです。
この記事では、
Macでgit pushできないときに確認すべきポイントを、
初心者向けに順番に整理して解説します。
※ 本記事は Mac環境/Git基本操作を前提 に説明します。
この記事でわかること
- git push が失敗する主な原因
- 認証エラーが起こる理由
- 確認すべきGit設定
- 初心者が見落としやすいポイント
よくあるエラー例
git push が失敗すると、
次のようなメッセージが表示されることがあります。
permission deniedauthentication failedrejectedfailed to push some refs
エラーメッセージによって、
原因の方向性をある程度絞ることができます。
確認① リモートリポジトリが正しく設定されているか
まず、
push先(リモートリポジトリ)が正しいか確認します。
git remote -v
ここで、
- リポジトリURLが表示されるか
- 意図したURLになっているか
を確認してください。
URLが間違っている場合、
pushはできません。
確認② ブランチが存在しているか
次に、
現在のブランチを確認します。
git branch
* が付いているブランチが、
現在作業中のブランチです。
初回pushの場合、
ブランチがリモートに存在せず、
pushに失敗することがあります。
その場合は、
次の形でpushします。
git push -u origin ブランチ名
確認③ 認証方式(HTTPS / SSH)を確認する
Macでgit pushできない原因として、
認証方式の問題が非常に多いです。
HTTPSの場合
- ユーザー名
- パスワード(またはトークン)
が正しく設定されているか確認します。
現在は、
GitHubなどでは パスワードではなくトークン が必要です。
SSHの場合
SSH接続を使っている場合は、
SSHキーが正しく登録されているか確認します。
ssh -T git@github.com
接続テストでエラーが出る場合は、
SSH設定に問題があります。
確認④ 権限があるリポジトリか
push先のリポジトリに、
書き込み権限があるかも重要です。
- 他人のリポジトリではないか
- コラボレーターとして追加されているか
権限がない場合、
認証が通ってもpushは拒否されます。
確認⑤ ローカルとリモートの差分が原因で拒否されていないか
次のようなエラーが出る場合、
rejected
リモートに、
自分の知らない変更が入っている可能性があります。
この場合は、
git pullで最新を取得- コンフリクトを解消
してから再度pushします。
よくある勘違い
git push できないとき、
次のような誤解がよくあります。
- Gitが壊れていると思ってしまう
- 毎回同じコマンドを繰り返してしまう
- エラーメッセージを読んでいない
実際には、
設定や権限を一つ確認するだけで解決することがほとんどです。
まず確認すべきチェックリスト
git push が失敗したら、
次の順番で確認してください。
git remote -vのURL- 現在のブランチ名
- 認証方式(HTTPS / SSH)
- リポジトリの書き込み権限
- リモートとの差分
この順で見れば、
原因はほぼ特定できます。
まとめ
Macでgit pushできない場合、
多くは次のいずれかが原因です。
- リモート設定の間違い
- ブランチの問題
- 認証方式・トークンの問題
- 書き込み権限がない
- リモートとの差分
落ち着いて確認すれば、
ほとんどのケースは解決できます。
コメントを残す