Mert Salık Kişisel Web Sayfası
Bir bilgisayar mühendisi adayının maceraları…
Hoşgeldiniz!
Mercurial (Komut Satırında) Kullanımı
Mozilla, Netbeans, OpenSolaris gibi projelerde adını duyduğumuz, distributed version control system diye tabir edilen bir sürüm denetim sistemidir. Güzelliği merkezden ayrı olarak (local olarak) kendi bilgisayarınızda proje üstünde çalışabilmemiz, diğer insanlardan (farklı repositorylerden) veyahut merkezden dosya çekme (pull) ve gönderme (push) özellikleri ile kullanımının rahat olmasıdır. Kendi makinamızdan (projenin local kopyasından ) commit, update vs. gibi komutları kullanarak projeyi takip ve control edebilmekteyiz. Geliştirilen projenin farklı kişiler tarafından özel çalışma kopyalarının çıkartılıp, geliştirmeler-düzeltmeler vebenzeri işlemler yapıp, yine merkeze (ana repository) yada bir başka kullanıcının kopyasına birleştirebilme özelliği özgür yazılım için çok güzel bir nimettir. =)
Gelelim fasulye ve faydalarına , kurulumu şahsen Ubuntu (Karmic) üzerinde komut satırından yaptım, ve küçük bir ödevde yine komut satırı üzerinden işlerimi hallettim, bu yüzden kullanımın Linux üzerinden nasıl olduğunu anlatıyorum:
- sudo apt-get install mercurial (apt-get install yine işbaşında) ile kurulumu tamamlıyoruz =)
Kurulumu bu kadar basit olan mercurial’ın kullanımında:
- hg clone http://mertsalik.com/mercurial-örnekrepo
komutu ile örnek projenin bir kopyasını adresinden bilgisayarımıza alıyoruz.
- hg rollback
komutu ile projeye yaptığımız değişikliği (ör:pull) geri alabiliyoruz.
- hg commit
yerel klasörümüzde yaptığımız değişiklikleri (changeset) changelog dosyasına kaydeder
- hg add
proje klasörüne eklediğimiz dosya ve klasörleri kayıt altına alma (projenin öğesi haline getirme) işini yapar
- hg init
Yeni bir mercurial projesi yaratır, ve ” .hg ” dosyasını oluşturur.
- hg parents
Hangi revisionda çalıştığımızı Projenin son halini (merkez + local changesets) gösterir.
- hg pull
bir başka repodan (adresten ya da klasörden) projemize öğe çeker.
- hg push
Yapılan değişiklikleri belirtilen repoya gömer. (ekler diyelim)
- hg merge
Diyelim ki revision 2 de bir hata bulduk,
“hg update 2 ” diyerek, projemizin kodlarını revision 2 deki hale getirdik,
– hatayı düzelttik —
” hg commit ” diyerek de yapılan değişikliği history’ye ekledik, şimdi yapmamız gereken bu düzeltmeyi projenin son haline dahil etmek. işte burada ” hg merge ” komutunu kullanıyoruz.
- hg status
Projede yapılan değişiklikleri, ekleme çıkarma yapılan veya kayıt altına alınmayan dosyaları gösterir.
- hg outgoing
Projemizi push edeceğimizde hangi değişikliklerin push edileceğini gösterir.
- hg help
Yardım komutudur. Komutlar ve kullanımları hakkında bilgi alabiliriz.
- hg update
Local çalışmamızı (alt projemizi) bir revision haline getirip ona bir id verebilmemizi sağlar (Ör: hg update 3)
- hg log
History kayıtlarının tümünü görüntüler. Kayıt altına alınmış tüm olayları listeler.
Burada yazdığım komutlar gerçeklerinin çok yalın halleridir, ek komut satırı argumanları alarak daha spesifik görevleri gerçekleştirebilirler. Bu paylaşımdaki amacım süper bir mercurial anlatımı değildir, aksine kullanımının görsel olarak olabileceği gibi (Bilgilendirdiği için Akçura’ya teşekkürler Bakınız) komut satırından da yapılabileceğidir. Komutları belirli bir sıraya göre yazmamamdaki sebep; daha çok araştırılıp, örnekler üzerinde ezbere değil, hangisinin hangi işi yaptığını deneyerek bulunmasını tavsiye etmemdendir.
Bu yazı toplamda 181, bugün ise 0 kez görüntülenmiş
Leave a Reply
Sitemi takip ettiğiniz için teşekkür ederim. İyi çalışmalar.
