Bir git destek aracında algılanan bir hatayı gidermek için bazı işler yapıyorum ve deney amaçlı olarak bir depo (muhtemelen birçok kez) kopyalamak istiyorum. Özgün depo nesnesi veritabanına oluşturulacak sabit bağlantılar için, özdeş SHA değerleriyle aynı nesnelerin birden çok kopyasını saklamak için disk alanı boşa harcamamak istiyorum. git clone güzel gerçekleştirir, ama ne yazık ki git clone bana orijinal depo gibi kurmak depo yeni bir kopyasını vermek için bir yol bulmak gibi olamaz:Boşluk bırakmadan git deposunu nasıl kopyalayabilirim/kopyalayabilirim?
- klon noktaları geri kopyalanan deposuna aslına olarak, ama kopyalanmış depo
- klon tek bir şubeyle rüzgarlar aynı kökene sahip istiyorum, ama kopyalanmış depo
Ben kollarının hepsini istiyorum bazılarını git clone --mirror kullanarak iyileştirebiliriz, ancak bu sadece çıplak bir depo oluşturmak için çalışacağım ve denediğim depo açık değil ve hata ayıklamaya çalıştığım destek aracı, çıplak depolarda çalışmaz.
Yeni nesne nesnesini orijinal nesne veritabanına sabit bağlantılarla doldurmak için hızlı bir kabuk döngüsü yazmayı ve sonra her şeyi orijinal .git dizininden kopyalamayı ve sonra bir git checkout yapmam gerektiğini düşündüm, ancak ben Bu, hataya eğilimli olmak için yeterince karmaşık ve bu tür düşük düzeyli cerrahi gerçekleştirmek için yeterli bilmiyorum ve ince hatalar ile bir depo inşa edecek endişe. Bu yaklaşım teoride mi çalışır?
Daha da iyisi, istediğimi yapmak için git clone seçeneklerini geçirmenin bir yolu var mı?
Yeni bir depo oluşturabilmemin bir yolu var mı, ancak nesne veri tabanının başka bir dizinde olduğunu ve temel olarak nesne veri tabanını orijinal depodan paylaştığını söylemenin bir yolu var mı?
Yukarıdakilerin hiçbiri işe yaramıyorsa, o zaman çok fazla alan tüketecek ve zaman alıcı olacak bir cp -pr ile kaldım.