git pushができない場合の対処法をご紹介!
gitを使っていると、pushすることがよくありますよね。
しかし、突然pushができなくなったり、新しいリポジトリでできなくなったりなど、pushができないときがあります。
そのように、git pushができないときの解決方法をいくつか紹介します。
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の処理が終わらないで、いつまで経ってもできないということになってしまうことがあります。
