0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHub Desktopでお目当てのリポジトリがクローンできないとき

Posted at

GitHub Desktopを愛用しています。
すごく便利なツールなのですが、困ったことが起きました。
それは、GitHubで作ったリポジトリをクローンしようとしたときに、お目当てのリポジトリではなく、ほかのリポジトリがクローンされてしまうということなのです。

GitHub Desktopのバージョンは2.6.1です!

この症状は、以下のケースで起きるようです。

  • GitHubにAというリポジトリを作り、それをクローン
  • ローカルのAを削除
  • GitHubのAをBにリネーム
  • 新しくGitHubにAを作り、それをクローン
  • なぜかAではなくBがクローンされる

この症状の原因がGitHub側にあるのかGitHub Desktopにあるのか切り分けるために、GitのCLIで同様のことをやってみましたら、問題なく期待どおりの動作となりました。
するとGitHub Desktopに何らかの問題があると推測できます。
ワールドワイドで使われているアプリケーションに、このようなベーシックな問題があるとは考えにくいのですが、ここは理性的に立ち向かうことにしました。

試行錯誤の末たどりついた仮説は、こんな感じです。

  • GitHub Desktopは、リポジトリ名に何らかの識別子を作っている
  • リポジトリ名が同じなら同じ識別子となる
  • 識別子ごとに、GitHub側のリポジトリとURLを何らかの形で記憶している
  • この対応は変更されない
  • 同じリポジトリ名=識別子なら、常に最初に記憶されたGitHubリポジトリ名とURLを使う

識別子ではなく、リポジトリ名でも同じかもしれません。
つまり最初に、「このリポジトリ名だったら、GitHubのこのリポジトリを引っ張ってくるからね!」というのが決まっていて、それはあとになっても変わらないのではないか?ということなのです。

いろいろ解決の策を練りましたが、手っ取り早いのはGitHub Desktopをアンインストールして、%%Profile%%AppData¥Roaming¥GitHub Desktop以下に残っているファイルもすべて削除、ということです。
根本的な解決にはなっていませんが、これでお目当てのリポジトリを無事クローンできました。

Aというリポジトリを作って試行錯誤的に作業していたけど、だいたいうまくいくようになったので改めてやり直したい。だけど保険のためにAを残しておきたいので、とりあえずBにリネーム、Aを新しく作り直す、というのはわりとあり得るケースだと思います。

もしかしたら同じくはまっている人がいるかも?ということで書いておきました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?