git gc --prune=now
リモートの Team Foundation Server 2015 (tfs2015)で実行する方法はありますか? または、git gc --prune=now
ローカルで実行し、tfs2015 で新しいリポジトリを作成して新しいリモートにプッシュし、古いリポジトリを削除して、新しいリポジトリの名前を古い名前に変更する唯一の方法です。それを行うときは、好きなコミットをオフにすることを忘れないでください。
1467 次
2 に答える
3
https://blogs.msdn.microsoft.com/congyiw/2015/12/14/why-does-cloning-from-vsts-return-old-unreferenced-objects/を参照してください- これは TFS でホストされる git の既知の制限です、gc
コマンドがありません。
Microsoft は、次の 2 つの回避策を提供しています。
- レポを複製し、ローカルでクリーンアップし、サーバーから削除し、新しいレポを作成して、クリーンアップしたものをそれにプッシュします(質問で説明したこと)
しない
git clone
でください。ただし、次のようにローカル リポジトリを取得します。mkdir newRepo git init git remote add origin #fetch one branch first git fetch origin master #fetch everything else git fetch origin
これは、本当に必要なオブジェクトだけを実際に送信するように TFS をだますものです。
プルリクエストなどを失う余裕がある場合(たとえば、これが比較的新しいレポである場合)、オプション1は私にとってより合理的であるように思われます。
オプション 2 は、リポジトリのユーザーがこの方法で手動でクローンを作成する必要があるため、非常に気分が悪いです。
于 2016-03-30T11:22:28.503 に答える