git pushができない場合の対処法をご紹介!

gitを使っていると、pushすることがよくありますよね。
しかし、突然pushができなくなったり、新しいリポジトリでできなくなったりなど、pushができないときがあります。
そのように、git pushができないときの解決方法をいくつか紹介します。

コンテンツ [表示]

  1. 1git pushができない問題
  2. 2git pushができない場合の対処法
  3. 2.1引数を省略している
  4. 2.2pullし忘れ
  5. 2.3強制的にpushを行う
  6. 2.4リモートリポジトリのURLが間違っている

git pushができない問題

gitを使っていると、pushすることがよくありますよね。
しかし、突然pushができなくなったり、新しくつくったリポジトリでpushができなかったりなどのエラーにぶつかることもあります。
そのようなgit pushができないときの解決方法をいくつか紹介します。

git pushができない場合の対処法

引数を省略している

pushを行うときは

git push origin ブランチ名

のように引数を2つ指定するのが正式な方法です。

git push

のように引数を省略すると、設定によってどこにpushされるかが異なります。

設定 意味
nothing 何もpushしない
current 現在のブランチを同じ名前のリモートブランチとしてpushする
upstream 現在のブランチの上流ブランチにpushする
simple 現在のブランチを同じ名前の上流ブランチにpushする
matching すべてのローカルブランチを同じ名前のブランチにpushする

これにより挙動が異なるので、もし引数を省略してpushできなかった場合は、省略せずに書くとpushできることがあります。
また、pushできないエラーの原因として上流ブランチが設定できていないことがあります。
この場合は、

git push -u origin ブランチ名

と、-uオプションを付けてpushを行うとpush先のブランチが上流ブランチに設定されます。そのため、初めてのpushでは、-uをつけることが推奨されています。
これで設定を行うと、引数を省略してpushすることができるようになります。

pullし忘れ

git pull

もしくは

git pull origin master

をしてから

git push

を行います。
pushする前にpullしていないとエラーになり、pushできないことがあります。

強制的にpushを行う

これは反則技とも呼ばれる、無理やりpushを行う方法です。

git push -f origin ブランチ名

もしくは

git push --force origin master

で強制的にpushすることができます。
しかし、複数人で管理しているリポジトリでこれを行うと面倒なことになる可能性があるので、これを使う場合はよく確認してから使いましょう。

リモートリポジトリのURLが間違っている

そもそもリモートリポジトリときちんと接続できていないことが原因のこともあります。
リモートリポジトリのURLは、Githubのページからコピーしたものを使用しましょう。アドレスバーのURLなど、別のものを使用してしまうとgit pushの処理が終わらないで、いつまで経ってもできないということになってしまうことがあります。

リモートリポジトリのURL
GeekHive採用サイト

関連記事