2016-01-26 13 views
5

私はもうgitリポジトリにアクセスできないプロジェクトを持っています。私は(のBitbucket上の)新しいリポジトリに入れたいが、私はgit push -u origin --allしようとすると、私はすべてのブランチの! [remote rejected] master -> master (shallow update not allowed)を取得します。どのようにして浅い更新をプッシュできますか?リモートでreceive.shallowUpdateを設定しますか?

明らかに、receive.shallowUpdate設定オプションがありますが、これはリモート側でどのように設定しますか?私は、元のレポへのアクセス権を持っていないようunshallowクローンを作る

は、オプションではありません。

+1

が重複する可能性を試して見ます(http://stackoverflow.com/questions/6802145/convert-shallow-clone-to-full-clone) – Whymarrh

+1

答えGitは非シャローコピーを作るために、--unshallow'フェッチ '使用して再度フェッチすることがあります。私が言及したように、私はリポジトリへのアクセス権がなくなり、オプションではありません。 – dhuyvetter

+0

ああ、これはより多くのそれのようにする必要があります:http://stackoverflow.com/a/11381860/1267663 – Whymarrh

答えて

15

このエラーメッセージはgit 1.9.0でcommit 5dbd767で導入され、そのテストではpushing commits with grafted rootと表示されます。

デフォルトではリモート側(ここではBitBucket)がreceive.shallowUpdateをデフォルト値(false)のままにした場合、そのサポートに問い合わせる必要があります。 git filter-branch -- --allを適用するあなたが直接プッシュすることができるものに、あなたのレポを変換するのに十分である場合(これ以上のグラフトのノードが存在することになるので)

しかし、最初に、[完全クローンのシャローコピーを変換]の

+2

ありがとう、それはトリックでした! – dhuyvetter