Git-svn dcommits ile ilgili bir sorun yaşıyorum;Git-Svn dcommit dallara ayrılmaya neden oluyor
Git ana branşmanının SVN deposunda her zaman gövdeyi izlediğinden emin olmayı denerim. Yani ne zaman çalışıyorum, konu dalındayım.
Buraya ana kadar
git checkout master
git svn rebase #get any changes in svn
git rebase master my-topic
git merge my-topic --ff-only
usta geri benim şube birleştirme istediğinize karar
git checkout -b my-topic
git commit -m "blah blah blah"
Sonra bir süre bir konu dalında çalışarak, her şey: İşte benim senaryo iyi gitti. Şimdi ana ve hızına ve taahhüt aynı işaret yukarıya my-konuyu her ikisine de sahip ve tüm geçmişi aşağıdaki gibidir:
A -- B -- C - master + my-topic
Ancak, ben
git svn dcommit
Ben ile bitirmek ne zaman şöyle bir ağaç (B ve C kaydedilmesini başlangıçta konuya yapılır):
Bu dcommit sürecinde gibi görünüyor-- B -- C - my-topic
/
A -- B -- C - master + remotes/trunk
, git SVN kadar kaydedilmesini iter, sonra da üstüne geri yerine koymak onları usta. Benim düşündüğüm problem, farklı komiser bilgilerini almalarıdır. Kaplumbağa ve SSH anahtarıyla svn'ye giriş yapıyorum. svn itilmiş
Collin Hockey <[email protected]>
Kesinleştirmeler olsa bu var:
chockey <[email protected]>
var mı olarak SVN itilmiş edilmemiş git deposunda
Kesinleştirmeler committer bilgi var Bu dalları bölmeden nasıl koruyabilirim? Tekrar,
diyerek tamir edebilirim, ancak bunun gereksiz olması gerektiğini hissediyorum. Bununla ilgili temel sorun, bir şubenin değişiklikleri SVN'ye aktarıldığında, gitmenin şubenin herhangi bir yerde birleştirildiğini düşünmemesidir. Artık ihtiyacınız olmayan eski dalları silmeyi kafa karıştırıcı yapar.
Bu biraz daha iyi çalışıyor gibi görünüyor, ancak işlemler hala farklı (Onlar da farklı zamanlarda var). Aslında onların yeni taahhütler olmasını engellemenin bir yolu var mı (ya da her iki şubede de otomatik olarak güncellemeleri güncellemelisin), yoksa bunlar git-svn köprüsünü kullanmanın sonu mu? – Collin
@Collin Git-svn'nin çalışması budur: SVN taahhütleri sağlar ve Git bunları sadık şekilde yansıtır. Bu davranışı değiştirmenin bir yolu yoktur (elbette kendi Git-SVN senkronizasyon aracınızı yazmanız dışında). –
Bilgi için teşekkürler. Ben dcommit-ing sonra şubemde rebasing yapıştıracağım. Yazarlar dosyaları, tarihimi çok daha güzel hale getiriyor olsa da :) – Collin