Bir svn deposunu (git-svn ile) izlemek için kullandığım bir git deposunun bir yedeğini oluşturmak istiyorum. Git bu amaçla push --mirror kullanabilir miyim veya yedeklemeyi geri yüklemem gerektiğinde git-svn ile ilgili bilgileri kaybedebilir miyim?Git push --mirror, git-svn ile kullanılan depo için yedek olarak yeterli mi?
cevap
git push
veya git bundle
mümkündür svn meta verileri dahil değildir.
Ancak, git svn
intro'a göre, bu svn meta verilerini geri yüklemeyi deneyebilirsiniz.
: Sadece patladı eğer
Eğer
git-clone
aracılığıyla başka bir yere (örneğin,repo.utsl.gen.nz
itibaren) den depoyu kopyaladıysanız git-svn meta
Yeniden, ya da (feragat doğrudan test edilmedi) uzakta, sonra hiçbir SVN meta verisi olmayacak - sadece taahhüt eder.
Bu durumda, örneğin, gövdeyi güncel tutmak için SVN meta verilerinizi yeniden oluşturmanız gerekir - git-svn
, git-svn fetch
çalıştırdığınızda meta verilerini yeniden oluşturur.
$ git update-ref refs/remotes/trunk origin/svn/trunk
$ git svn init https://svn.perl.org/parrot/trunk
Using higher level of URL: https://svn.perl.org/parrot/trunk => https://svn.perl.org/parrot
$ git svn fetch
Rebuilding .git/svn/git-svn/.rev_db.d31e2699-5ff4-0310-a27c-f18f2fbe73fe ...
r17220 = 78ad11bf2f61b35e1cb32a978ab546d198be8a2e
r17219 = 605264b06d84670ec402d7a7a21c0016cae3a928
r17218 = a8ceba9c503d2be8e8e69a3df454017322906cf5
...
git-svn
meta yeniden birlikte hatırlamak önemli şey ref onlar taze ithalattan olmazdı gibi görünmesi için ise; Yukarıdaki gibigit update-ref
kullanarak,.git/refs/
içinde refs dosyaları kopyalayarak veyagit pack-refs
kullanarak ve.git/packed-refs
düzenleyerek yapabilirsiniz.
Doğru bulduğunuzu test etmek içingit show-ref
kullanın - belki yeni bir SVNHEAD
klonu ile karşılaştırın.
- 1. Yerel bir, "git push --mirror" veya "uzak güncelleştirmeye git" yedeklemesiyle bir yedek git deposunu nasıl saklarsınız?
- 2. git push .git/açıklama dosyası
- 3. Havuz Deposu Gerrit, git push --mirror, refs/meta/config değerini döndürür (proje yapılandırmasını silemez)
- 4. Reddedilen git push
- 5. git git push -f'nin benzerine/karşısına gider mi?
- 6. Bitbucket git push ssh "conq: geçersiz depo sözdizimi."
- 7. Homebrew: depo veritabanına nesne eklemek için yeterli izin yok .git/object
- 8. Git Çalışmıyor Push
- 9. git depo günlük kopyalama
- 10. SpeC# kararlı kullanım için yeterli mi?
- 11. SSL ile temel kimlik doğru yeterli mi?
- 12. mb_strlen() yeterli mi?
- 13. git push DEĞİL
- 14. Yeni bir git dalı oluşturma ve tam depo ile
- 15. Heroku - Git push it
- 16. "git push" uzaktaki "git getirme" ile aynı işi yapıyor
- 17. C++ projelerinde TDD için yeterli/üretken mi?
- 18. Erlang'ın güvenliği çerezlerle yeterli mi?
- 19. git push it-branch reddedildi
- 20. git push ile üzerine yazmak, git sunucusundaki değişikliklerin üzerine yazmak için?
- 21. Alt modül olarak yerel depo
- 22. Son 2 uç testi yeterli mi?
- 23. ölümcül: Değil git depo ... hata mesajı
- 24. "selektif olarak" ile birleştirmek için git
- 25. WebStorm/PhpStorm + Git tümleştirmesi: "Aynı" ile "En son" depo sürümü
- 26. Git'i birden çok uzak depo ile nasıl kullanabilirim?
- 27. Doctrine postIlişkiler için yedek olay
- 28. Yedek
- 29. iPhone'daki tüm sürümler için 3x görüntü sağlamak yeterli mi?
- 30. Yerel bir depo, git kullanarak uzak sunucuya nasıl kopyalanır?
Cevabınız için teşekkür ederiz. Git update-ref bana şu mesajı verir: "fatal: origin/svn/trunk: geçerli bir SHA1 değil", ama git show-ref git repo aynası için refs/remotes/trunk'u listeler. Güncellemeyi atlayabilir miyim o zaman? – fawick
Git güncelleme-ref refs/remotes/trunk origin/master '_after_ '' svn init' ile daha iyi sonuçlar aldım. Ancak, yukarıdaki örneklerden farklı olarak, etiketler ve dallar oluşturan -t/-b seçenekleri ile 'git svn init 'kullanmıştım, bu yüzden etiketlerin her biri için de refs kurmak zorunda kaldım. (Orijinal git-svn klonundaki 'git show-ref 'komutunu çalıştırarak elde edilir.) – seanf