Gitで存在しないリモートリポジトリの設定情報を削除する
Gitを始めようとした時に、いきなりサーバーのリポジトリをGitにするってことは無いと思います。GitHubやクラウドのサービスを使える場合は別ですがそうでない場合は、大体はローカルのマシンにGitをインストールして、ローカルリポジトリから始めると思います。
しかし、ローカルリポジトリではpushコマンドを試すことが出来ないので、サーバー上のリポジトリが欲しくなります。GitHubや(以下略)を使わない場合は、何らかの手段でローカルのマシンにリモートリポジトリをたてます。
しばらくして、共有サーバー上にGitリポジトリが用意されることになり、設定を変更して接続先を変更した場合、git branch -a
などで存在しないリモートリポジトリが表示されることになります。
自分でローカルにたてた(そして諸々の事情で既に存在しない)リモートリポジトリの設定が残っているのです。リモートリポジトリには存在しないので、pushしても効果がない。今回はそんな場合の対処方法を調べてみました。
やり方は、簡単です。以下のコマンドを実行するだけです。
> git fetch -p
参考サイトでは、Windows以外の環境で実行していますが、Windows環境でもGit Bashを使えば同じです。 ちなみに、TortoiseGitの日本語版では、「刈り取り」と翻訳されているようです。
これだけだと内容が寂しいので表にまとめてみました。
リモートリポジトリ削除方法
ローカル | リモート(表示) | リモート(実際) | 削除コマンド |
---|---|---|---|
存在しない | 存在する | 存在しない | git fetch -p |
存在しない | 存在する | 存在する | git push origin :ブランチ名 |
参考サイト