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?

Gitを2.49.0に更新したら、ミラーレポジトリとしてcloneできなかった話

Last updated at Posted at 2025-03-18

序文

Gitを2.49.0に更新したら、ミラーレポジトリとしてcloneできなかったという、お話です。(fatal: multiple updates for ref 'refs/tags/...' not allowed)

検索してでてきた次のお話とは、別のお話です。
Gitを2.21.0にアップデートしたらcloneできなくなった話(fatal: multiple updates for ref 'refs/remotes/origin/master' not allowed) #homebrew - Qiita

上記のケースでは

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*

といった設定がある場合に、

git config --global --unset remote.origin.fetch

などで、上記設定を取り除けばいいという、解決策(回避策?)が案内されていたようです。2019年ころのお話でした。
今回のケースは上記ケースと異なりgit 2.49.0でmirrorオプションとbranchオプションを合わせて指定している場合に、cloneが止まってしまうケースがあるというお話です。

実例として、Fcitx-Mozcのレポジトリで説明します。

git clone --filter=tree:0 --mirror --branch fcitx https://github.com/fcitx/mozc.git fcitx-mozc
fatal: multiple updates for ref 'refs/tags/fcitx-mozc-1.10.1390.102.1' not allowed

上記のようなエラーが出て処理が止まります。

ちなみにbareオプションだとエラーがでず、cloneできました。(2.49.0よりも前のgitだと、mirrorオプションを用いた上記コマンドでcloneできていました。)

git clone --filter=tree:0 --bare --branch fcitx https://github.com/fcitx/mozc.git fcitx-mozc

回避策

git 2.49.0でmirrorオプションでcloneする場合、branchを指定したい場合には、--single-branchオプションも追加しましょう。または、そもそもbranch指定を行わないというのが、今回の回避策になります。

git clone --filter=tree:0 --mirror --branch fcitx --single-branch https://github.com/fcitx/mozc.git fcitx-mozc
git clone --filter=tree:0 --mirror https://github.com/fcitx/mozc.git fcitx-mozc
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?