Belirli dosyaların sürümünü etiketlemek için SVN veya git gibi VCS çözümleri nasıl kullanılır?


1

bu yüzden artan kod yığınlarımı takip etmek için sürüm kontrol sistemlerini (VCS) kullanmaya başlıyorum ve SVN ve git ile deneyler yapıyorum. Çok temel komutlar çok benzer, bu yüzden sadece örnek olarak SVN kullanacağım.

Diyelim ki içinde bazı dosyalar olan bir repo var. Bir dosyayı değiştirdikten sonra, değişikliği bu şekilde kabul ediyorum:

svn commit -m "altered the regex to parse properly"

Bu benim değişikliklerimi taahhüt eder ve taahhüt mesajı ekler. Ancak, 3 farklı betiği yeni değiştirmiş olsaydım, her bir dosya için nasıl bireyselleştirilmiş işlem mesajları ekleyebilirim?

Benzer şekilde, bir sürüm kontrol sistemi olarak, aslında komut dosyası sürüm numaralarını takip etmek istiyorum. Diyelim ki 1.0.0 sürümünden başladım, değiştirilmiş betiğimi taahhüt üzerine v1.0.1 olarak nasıl etiketleyebilirim?

Dolayısıyla, temel olarak, birisi bana taahhüt sırasında her dosya için günlük iletilerini ve sürüm değişikliklerini nasıl izleyeceğimi söylerse çok minnettar olurum. Teşekkürler!

Yanıtlar:


5

Çalışan bir değişiklik günlüğünü dosya halinde tutmak istiyorsanız , aşağıdakilerden birini yapmanız gerekir:

  • Kaynak ağacınızda bir ChangeLog düz metin dosyası oluşturun ve her dosya için ihtiyaç duyduğunuz bilgileri (tarih, saat, işlem kimliği, özet vb.) Yazın.

  • Her seferinde yalnızca bir dosyayı bir defada işlediğinizde, bu şekilde sürüm kontrol dosyanızda her bir dosyanın kişisel değişikliğini listeleyen bir işlem geçmişi görebilirsiniz. Bununla birlikte, kodunuzun tutarsız bir durumuna yol açabilir, bunun anlamı, birbirine bağlı iki dosyayı değiştirirseniz ve yalnızca bir dosyayı değiştirdikten sonra bir hataya yol açarsanız, kodunuzun ihlal edileceği anlamına gelir.

VCS'ler genellikle dosya başına işlem günlüğü desteği sunmazken , yine de birden fazla dosya içermesini taahhüt eder. Bununla birlikte, bir çoklu dosya işlemesinde her dosyanın değişikliğinin açıklaması arasında yeni bir satır koyabilirsiniz. Bunun gibi bir şey:

Summary: Various bug fixes and updates for Flummox 1.5.2.

file1.c: Updated Flummox API for Flummox 1.5.2.
file2.c: Fix a string formatting buffer overflow.
file3.c: Use new Flummox Advanced Regex engine.

Çoğu kişi, 1 dosya veya 1000'i etkilese de, bir taahhütte her mantıksal olarak yalıtılmış değişikliği taahhüt eder.


2

@ allquixotic sorunuzun sürüm numaralarıyla ilgili olan ikinci bölümünü kaçırdı, bu yüzden bu bölümün cevabı.

değiştirdiğim komut dosyasını v1.0.1 taahhüt olarak nasıl etiketleyebilirim

Komut dosyanızı v.1.0.1 olarak gerçekten etiketlemiyorsunuz, muhtemelen v.1.0.1 etiketiyle işlemek için bir etiket ayarlayacaksınız.

Git'te bu gibi bir şey kadar basit olabilir git tag v1.0.1 <commithash>. Eğer svn kopyalama özelliği kullanmak beri SVN'de Etiketler biraz farklı Doc .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.