1. ホーム
  2. ギット

[解決済み】GitのリモートURLを変更すると、リモート拒否される(浅い更新は許可されない)。

2022-04-21 17:47:16

質問

Gitバージョン管理下のプロジェクトがあり、サーバーと自分のローカルコンピュータの両方で作業しています。当初、リモートオリジンをローカルコンピュータに設定していましたが、BitBucketに変更したいと思います。

サーバー上では、次のコマンドを使用しました。

git remote set-url origin bitbucket_address

しかし、今、私のプロジェクトをプッシュしようとすると、エラーが発生します。

 ! [remote rejected] master -> master (shallow update not allowed)

何が原因で、どうすれば直るのでしょうか?

解決方法は?

を使用しているようなので git clone --depth <number> を使用して、ローカル版のクローンを作成します。この結果 シャロークローン . このようなクローンの制限事項のひとつは、クローンから 新しい レポジトリを作成します。

これで、2つの選択肢ができました。

  1. 履歴が消えても構わないという方は この質問
  2. 履歴を完全に残したい場合は、このまま読み進めてください。

履歴を残したいわけですね。ということは 浅くする を使用してください。これを行うには、古いリモートを再度追加する必要があります。

git remote add old <path-to-old-remote>

この後 git fetch で提案されているように)古いリモートから残りの履歴を取得します。 この回答 ).

git fetch --unshallow old

そして、新しいリモートリポジトリにプッシュできるようになったはずです。


備考 : 後 アンシャロー クローンを作成したら、古いリモートを再び削除することができます。