2015-08-10 15 views
6

Şu anda çok eski bir projeye, lisanslama sürecinde katkıda bulunuyorum. Projeye sadece yaklaşık 30 katkıda bulunanlar var, ancak bu noktada neredeyse on yaşında; Bu insanların çoğu ilerledi ve hepsini bulabildiğime emin değilim.Git kullanan herkesin katkılarını TÜM kullanarak nasıl kaldırabilirim?

Proje, sürüm denetimi için git'i kullanmaktadır ve git, CVS'den önceki geçmişe sahiptir.

Biriyle iletişim kuramam durumunda, TÜM işlerini ve bu işten türetilen her şeyi kaldırmamız gerekir. Git'in bir kişinin tüm taahhütlerini ve o kişi tarafından eklenen satırlara dokunan her türlü taahhüdün kaldırılmasına neden olmanın bir yolu var mı?

+6

Bu, *** 'nin alabileceği inanılmaz derecede sert bir önlem. Eğer bu işlem, tüm modülüne dokunduğunda, küçük ancak işlevini doğru bir şekilde yerine getirdiği için güncellenmesi gerekmiyorsa ne olur? – Makoto

+0

Lisans, bunu gerektirir. On yıl önce işimi bitirmem gerektiğini düşünmek beni hasta ediyor, çünkü on yıl önce bir evrak hatası yaptı (kapalı kaynak simülatörüne bir DLL eklentisi olduğumuzda LGPL yerine GPL kullandı), ama bu yasadır. –

+0

Bu, işi kaldırmanın projeye çok zarar vereceğinden emin olduğum için oldukça tehlikelidir. Github/bitbucket/etc kullanıp kullanmadığınızı bilmiyorum, ancak olasılıklarınızın neler olduğunu görmek için onlara e-posta gönderebilirsiniz. –

cevap

-1

http://git-scm.com/docs/git-filter-branch adresindeki git-filter-dalına bakın ve "Darl McBribe" tarafından yazılan "Kaldırmaları kaldırmak için" bölümünden: 'orada. Bu filtrelenmiş taahhütlerin tümü, sonuçta ortaya çıkan kod tabanındaki diğer tüm işlevlere ortogonal olmadıkça, sonuçta ortaya çıkan kod tabanı için bunun nasıl işleneceğine dair hiçbir fikrim yok, öyle ki her biri daha sonra (filtrelenmemiş) herhangi bir bağımlılık olmaksızın kaldırılabilir. bölünürler.

+0

Bu, değişmez, yalnızca taahhütleri kaldırdığı için uçmaz. Fikir, bu kişinin projeye yasal nedenlerden dolayı katılmasının eksiksiz bir şeytan çıkarmadır. Katkıları zehirdir - herhangi bir formda kalan tek bir bayt bile bir dava için geçerli olabilir. –

+0

"İşlemler tarafından getirilen değişiklikler ve sonraki işlemler tarafından geri alınmayan değişiklikler, yine de yeniden yazılmış dalda olacaktır. Değişiklikler ile birlikte değişiklik yapmak isterseniz, git rebase'nin etkileşimli modunu kullanmalısınız." – DavidN

İlgili konular