2012-01-24 25 views
5

Yerel git deposumdaki değişiklikleri bir SVN sunucusuna birleştirmek için git svn kullanıyorum. Ancak, ben git svn dcommit düzenlediğinizde, aslında benim kaynak ağacımdaki .gitignore dosyalarını işleyecek. Bu, SVN deposunu yerel olarak (SVN kullanarak) teslim ettikten sonra bile, svn: ignore özelliğini (yinelemeli olarak, göz ardı edilecek dosyalardan biri olarak .gitignore öğesini listeleyerek) ayarlayın ve bu özelliği doğrudan SVN olarak değiştirmeyi ayarlayın..Gitignore dosyalarını SVN dışında tutmak mümkün mü?

Bu amaçlanan davranış mı? Bir böcek? Herkesin SVN'den uzak durması gerektiğini bilen bir iş var mı?

Sadece ekibimdeki bir non-git kullanıcısı bu dosyaları görmeye ve onları silmeye başladığını biliyorum, bir dahaki sefere rebase/dcommit'a gittiğimde çok fazla istenmeyen dosya SVN'de görünecek.

cevap

8

.gitignore dosyalarını kullanmak yerine Git'in repo-spesifik "exclude" dosyasını kullanabilirsiniz. "Hariç tut" dosyası, $GIT_DIR/info/exclude ($GIT_DIR genellikle Git deposu, genellikle .git) adresindedir. Bu dosyanın formatı, .gitignore dosyalarınınkiyle tamamen aynıdır. Farkı, bunun bir depoya özgü dosya olmasıdır - yalnızca deponuzda bulunur. Başka herhangi bir depoya (örneğin, git clone veya git svn dcommit aracılığıyla) yayılmayacaktır.

SVN repo'undan .gitignore dosyalarının atlanması için bir yol yoktur, ancak bunları Git'de saklayın. Bunu yapmak için herhangi bir girişim, yerel kuruluşlarınızın, git-svn'nin SVN sunucusundan aldığı komutları eşleştirmemesine neden olur. Başka bir deyişle, yerel deponuzun tarihi, SVN'nin tarihi ile uzlaştırılamaz; sürekli olarak senkronize olurlardı.

+0

Repo-ignores hakkında bilmek ve aynı zamanda bu sinir bozucu .gitignore dosyalarını SVN'den uzak tutan tek kişi ben değilim! – ThaDon

+0

Dosya artık çoğul olmayan "$ GIT_DIR/info/exclude" olarak adlandırılıyor. –

+0

@JannikJochem Sanırım bu sadece benim tarafımdaki bir yazım hatasıydı. Bildiğim kadarıyla, her zaman "hariç tut", "hariç tut" olarak adlandırılmıştır. Bunu işaret ettiğin için teşekkürler! :) –

İlgili konular