Git-svn kullanıyorum. Gitmiş olduğum şeyin listesini nasıl alabilirim, fakat son git svn dcommit
'dan beri SVN deposuna henüz karar vermedim? Dcommit yaparsam, gönderilmek üzere olanı nasıl doğrulayabilirim?Neler kontrol edildiğini görmek için nasıl göründüğünü, ancak dvmt ile svn taahhüt edilmedi?
cevap
git svn dcommit
için --dry-run
seçenek olacaktır tam olarak ne bulmak için çok kullanışlıdır Subversion'a bağlı. Özellikle o özelliklere sahiptir:
- Aslında Subversion Bu diffs Subversion yeni revizyonları oluşturmak için hesaplanacak olan söyler
- şey taahhüt etmez
- Size Subversion hangi dalı söyler bu iyi bir fikir Genelde mesajı
taahhüt ilk atası belirtilen Subversion daldan alınır çünkü bu, bazen olmayan açıktır onun bir git-svn-id ile taahhüt - Eğer taahhüdünde olacak önce git svn rebase
yapmak dcommit
'u kullanmayı bile düşünün, böylece tarihiniz doğrusallaştırılır - aksi takdirde taahhütler Subversion geçmişinde çok anlamlı olmayabilir. (Siz de esasen eşdeğer olacak sonra git log
ve gitk --all
, yaptık, ama git svn dcommit --dry-run
size bunu yorumlamak daha zor olsa bile, gerçekleşmek üzere olan ne bir daha doğru bir resim düşünüyorsan.)
Düşünmemenin en kolay yolu bunu kullanarak gitk yapmaktır. Tüm şubeleri görmek için --all seçeneğini isteyeceksiniz. Daha önce kullanmadıysanız, aşağıdakileri yazın: dallarınızın grafik görünümünü göreceksiniz. SVN'den güncellediğinizde, aslında bir rebase (git svn rebase) yaparsınız. Bu, SVN'ye teslim edilmeyen tüm yerel taahhütlerin, son SVN taahhüdünden sonra şubede görüneceği anlamına gelir. Temel olarak uzak SVN ana ve ana branşınız arasındaki taahhütlere bakın.
Ben git log --oneline --graph
kullanın:
* aaaaaaa commit message
* bbbbbbb commit message
|\
| * ccccccc commit message
| * ddddddd commit message
| * eeeeeee commit message
|/
* fffffff commit message
|\
...
O aaaaaaa
, bbbbbbb
taahhüt görmek kolay ve fffffff
akım (master) şube bulunmaktadır. Bu taahhütler, git svn dcommit
'u bir sonraki çalıştırmanızda zaten ya da Subversion'a bağlı olacaktır. (eeeeeee
usta ile birleştirildi ve ayrı kaydedilmesini olarak Subversion kararlı olmayacak, ayrı bir dal üzerinde olan ddddddd
, ccccccc
kaydeder.)
sadece görmek için kaydedilmesini listesi, burada büyüm var:
git svn dcommit -n | sed 1d | cut -d" " -f3 | xargs -I{} git log --oneline --no-walk {}
çıkışı:
c2e1eff changed a thing
a889dbf changed a second thing
18a4653 undid the second thing-- oops
- 1. CheckedTextView kontrol edilmedi
- 2. SVN: Düzeltme için taahhüt edilen dosya dosyaları
- 3. <canvas>'un nasıl manipüle edildiğini görmek mümkün mü?
- 4. svn için varsayılan taahhüt mesajı nerede saklanır?
- 5. JCheckBox'un nasıl kontrol edildiğini kontrol etmek ister misiniz?
- 6. svn bağlantımı nasıl kontrol edebilirim?
- 7. Yüklü Ruby taşlarının tüm bağımlılıklarının tatmin edildiğini nasıl kontrol edebilirim?
- 8. SVN, svn status
- 9. RaisePropertyChanged ile neler yapabilirim?
- 10. customUserNamePasswordValidatorType ile neler oluyor?
- 11. , ancak lib dosyaları oluşturulmaz. Neler oluyor?
- 12. SVN kontrol dışarı linux
- 13. Kontrol edilip edilmediğini görmek için onay kutularını çağırma veya alma olup olmadığını görmek için 5.2
- 14. Rails precompile assets Öğelerin yürütülebilirliği tespit edilmedi
- 15. findSymfony2 ile ilgili tüm şartları görmek için
- 16. SVN- belirli bir dosyanın üzerine yazmak için SVN
- 17. Metnin bir değer içerip içermediğini görmek için Google Script
- 18. SVN taahhüt edememek önce benim kod standardı (PSR2) doğrulamak için mevcut PreCommit kanca ben SVN kullanıyorum uyarıları
- 19. Metin "görmek" nasıl yapılır?
- 20. Neler yapılıyor?
- 21. SVN -
- 22. svn ignore ayarlarını git svn ile nasıl yapılandırabilirim?
- 23. svn dışına git ile svn dışına geçiş
- 24. SVN - kod biçimlendirmesini kontrol etmek için ön bağlantı kancası
- 25. SVN 1.7 ile çalışan Delphi SVN entegrasyonu?
- 26. Git birleştirme taahhüt eder
- 27. Çarşı ile gelen değişiklikleri nasıl kontrol edebilirsiniz? Mercurial ile
- 28. git-svn: git ile yeni bir svn dalı nasıl oluşturabilirim?
- 29. SVN
- 30. git taahhüt mesajında bir önceki taahhüt nasıl yapılır
o ccccccc' 'gerçekleşen değişiklikler' ddddddd' ve 'eeeeeee' Subversion sona erecek açık olmak değer, Birleşme taahhüdü için hesaplanan farktan dolayı ffff, "fbbffbb" nin ilk ebeveyni "bbbbbbbb" olduğunu varsayarak, "bbbbbbbb" ye geri dönüşü içerecek, bu dalın "ustaya birleştirildiğini" söyleyerek önerdiğin gibi. Bu değişiklikler ayrı revizyonlar olarak görünmeyecek, bu yüzden sonuçlar idealden daha az olabilir - bu tür bir geçmişi Subversion'a işlemek istiyorsanız ilk önce git svn rebase'i yapmanın en güvenli yolu. –
@Mark Longair: Amacım, "ccccccc", "ddddddd" ve "eeeeeee" nin Subversion'da ayrı taahhütler olarak görüneceği korkularından kurtulmaktı. Tecrübelerimde, bu taahhütler genellikle bir özellik dalı oluşturur ve ayrı bir Subversion işi olarak uygun olmaz. – titaniumdecoy