Git ile Bir Programcı Gibi Dosya Versiyonunuzu Yönetin

  • Lesley Fowler
  • 0
  • 3495
  • 482
reklâm

Bir belge üzerinde meslektaşlarınızla daha önce çalıştıysanız, şu acıyı bilirsiniz: birisi ilk pasoyu alır (document.doc), sonra herkese e-posta ile gönderin. Bir sonraki kişi, her biri bir revizyonu takip eden üçüncü kişide olduğu gibi aynı şeyi yapar (document_rev3.doc) dosyanın adına. Yönetici gördüklerini sever ve tamamlanmış olarak etiketler (document_final.doc)… Son dakika değişikliklerine kadar (document_final_Aaron'ın değişiklikleri_reviewed_by_Bob_now_really_final.doc).

Şimdi onlarca kaynak kod dosyasındaki değişiklikleri düşünün. Programcılar bu sorunu çözmek için sürüm kontrol sistemlerini (VCS) yarattılar. Onlar doğada biraz teknik, ancak uzman kullanıcılar için de faydalı olabilir. Bugün en iyi sistemi kullanarak sürüm kontrolünün temellerine bakalım., Git.

Kullanımdaki Sürüm Kontrolüne Genel Bakış

VCS’lerin birincil amacı yakalamaktır. versiyonları (olarak da adlandırılır revizyonlarızaman içinde bir dosyanın). Bu, yukarıda tarif edilenler gibi ham yöntemlere dayanmamak anlamına gelir. Bu sistemlerde, eriştiğinizde “document.doc” Varsayılan olarak en son sürüm üzerinde çalışıyorsunuz. Ancak, dosyanın geçmişine geri dönebilir ve geçmiş sürümleri alabilirsiniz. Özel olarak dosya sürümlerini yönetmek için oluşturulmuş sistemler yazılım geliştirmeye başladı, ancak daha fazlasını elde etmeye başladı “ana akım” uygulamalar.

Yazılım Geliştirmede Versiyon Kontrolünün Gelişimi

Sürüm kontrol uygulamaları aslında programcıların birbirlerinin kodlarını kırmalarını önlemenin bir yolu olarak ortaya çıktı. İlk sistemler basitçe kullanıcıların diğer düzenlemelerden dosyaları kilitlemelerine izin verirken, ikinci nesil sistemler (Subversion Subversion Kullanarak WordPress Sürümlerini Nasıl Kontrol Eder [Linux] Subversion Kullanarak WordPress Sürümlerini Nasıl Kontrol Edebilirsiniz [Linux] Muhtemelen çoğunuz zaten Her gün baktığımız web sitelerinin çoğunu destekliyor: Büyük kullanıcı tabanı ve desteğiyle,…) merkezi bir depodan tam proje satın alma ile çok güzel şeyler yapabilirsiniz.

Bu ikinci nesil sistemler hala yaygın olarak kullanılsa da, endüstri üçüncü nesil sistemlere doğru göç etmektedir. Bu sistemlerin temel özelliği; dağıtılmış, Yani merkezi bir depo yok. Aksine, her kullanıcının kendi deposunun tam kopyası vardır (geçmiş tüm revizyonlar dahil). Ancak herhangi bir değişiklik (tam revizyonlar bile) “yerel” o kadar “iter” onları başka bir depoya. Bu kullanıcı daha sonra değişiklik yapmak ve işlemi tekrarlamak için bir klon çekebilir.

Programcı Olmayanlar İçin Güncel Sürüm Kontrolü

Aynı şeyin birden fazla versiyonunu yakalayabilme yeteneği, aynı zamanda ortalama kullanıcılar için de ortak bir özelliktir. Sadece Kodlayıcılar İçin Değil: Sadece Kodlayıcılar İçin Üst Sürüm Kontrol Sistemleri Değil: Yazarlar İçin En İyi Sürüm Kontrol Sistemleri Sürüm kontrolü veya revizyon kontrolünden söz edilir. meraklılar için bir şey gibi görünüyor. Versiyon kontrol sistemlerinin sadece akademik yazıda değil… 'de de bulunduğunu bilmek sizi şaşırtacak. Hem yerel makinede hem de kullanımı kolay bulut hizmetleriyle daha ucuz depolamaya erişim sayesinde kullanıcılar artık dosyalarının geçmişini izleyebiliyorlar. Genel amaçlı programlar bunu birkaç şekilde yapar.

İşletim sistemleri bir dosya veya klasör geçmişi yakalayabilir Ultimate Windows 10 Veri Yedekleme Kılavuzu Ultimate Windows 10 Veri Yedekleme Kılavuzu Windows 10'da bulabileceğimiz her yedekleme, geri yükleme, kurtarma ve onarım seçeneğini özetledik. Basit ipuçlarımızı kullanın ve asla umutsuzluktan kaçının tekrar kayıp veri! . Bu, her dosya kaydedildiğinde veya düzenli bir programda otomatik olarak gerçekleşebilir. Bazı masaüstü uygulamaları ayrıca dosyaların sürümlerini veya anlık görüntülerini yakalamanıza izin verir. Örneğin, LibreOffice “Sürümü Kaydet” Belgenin birden fazla sürümünü tek bir dosyaya kaydetmenize olanak sağlayan özellik (aşağıdaki üst resimde gösterildiği gibi). Son olarak, Google Drive, ownCloud, vb. Gibi web / bulut uygulamaları, bir dosyanın veya belgenin geçmiş yinelemelerini (aşağıdaki alt resimde Google Dokümanlar için gösterildiği gibi) ya sahne arkasında ya da ifadenizde tutacaktır..

Neden Programlama Merkezli Sürüm Kontrolü Kullanmalı??

İşletim sistemi veya uygulama seviyesindeki tüm bu seçenekler zaten mevcut olduğundan, neden bu inek programcı araçları ile uğraşmıyorsunuz? Aşağıdakiler dahil, yukarıdaki yöntemlerin birkaç dezavantajı vardır:

  • Bazı işletim sistemleri yeni bir sürümde bir dosyaya yaptığınız her ayarlamayı kaydeder Geri Dönme Süresi: 4 Araçlar ve İpuçları Windows'ta Silinmiş Dosyaları Geri Yükleme Süreleri Geri Dönme: 4 Araçlar ve İpuçları Windows'ta Silinmiş Dosyaları Geri Yükleme en büyük kusurlar, kazayla önemli bir dosyayı silmeniz halinde kurtarmanız olabilir: Windows dosya sistemi aslında dosyaları silmez. Üzerine yazılana kadar, silinen dosyalar geri yüklenebilir. . Bu sadece gereksiz depolama alanı almayacak, aynı zamanda bir dosya için belirli bir geri yükleme noktasını tanımlamayı da zorlaştıracak.
  • Bu çözümler bir dosyayı yönetmek için temel birim olarak da kullanabilir. Ancak sürüm kontrol sistemleri genellikle dizin seviyesinde çalışır (alt dizinler dahil). Bir VCS hangi dosyanın ne zaman değiştiğini tam olarak görmeyi kolaylaştırır.
  • Bu aynı çözümler ayrıca, çoğu durumda yinelemeleri etiketleme imkanı da vermez. Bu aynı şekilde, ne kadar parlak olduğunu fark etmeden önce üzerine yazdığınız metnin geçişi olan dosyayı bulmayı da zorlaştırır..
  • İşletim sistemlerinde sürüm oluşturma ve Word gibi uygulamalar da tek başarısızlık noktası sağlar. Word için dosyanın kendisi (eğer bozulursa tüm geçmiş kopyalarınıza elveda deyin). İşletim sistemi için sabit disktir Verileri Kurtarmak İçin Ölü Bir Sabit Disk Sürücüsünü Onarmak Verileri Kurtarmak için Ölü Bir Sabit Disk Sürücüsünü Onarmak Sabit disk sürücünüz arızalıysa, bu kılavuz sabit disk sürücüsünün onarımında size yardımcı olacaktır ve veri kurtarma. , Sorumlu bir kullanıcı olmadığınız sürece ve düzenli olarak yedekleme yapmadıkça Windows Yedekleme ve Geri Yükleme Kılavuzu Windows Yedekleme ve Geri Yükleme Kılavuzu Felaketler gerçekleşir. Verilerinizi kaybetmek istemiyorsanız, iyi bir Windows yedekleme yordamına ihtiyacınız vardır. Size yedekleri nasıl hazırlayacağınızı ve geri yükleyeceğinizi göstereceğiz.. .
  • Web tabanlı hizmetlerin doğası, eski revizyonlarınızın bulutta orada olabileceği anlamına gelir. Örneğin, bir Dropbox dosyasının geçmişini Linux'ta görüntülemeye çalışırsanız (aşağıdaki resimde gösterildiği gibi), web sitesine yönlendirilirsiniz.

Bu sorunlardan herhangi biri veya tümü sizi daha fazla bir şey isterse, çözdüğümüz bir sonraki bölüme bakın. Git.

Git ile Sürüm Kontrolü

İlerleyen bölümlerde, çok önemli bir proje için bu adımların her birini inceleyeceğiz: bu makale. Bunu Git'in komut satırı sürümünü kullanarak yapacağız. Terminal komutlarını bilmek GUI eşdeğerlerini bulmayı kolaylaştıracak ve her platformda kullanabileceğinizi garanti edecektir..

1. Git Deposunu Ayarlama

Makinenizde yüklü yüklü değilse (bazı Linux dağıtımlarında olduğu gibi Mac'ler de yapar), Windows yükleyicisini projenin indirme sayfasından alabilir veya aşağıdaki gibi bir komutla (dağıtımınıza özel) Linux'a yükleyebilirsiniz:

sudo apt yüklemek git

Yapmamız gereken bir sonraki şey bir git kurmak depo, Bu sadece projenizi tutan bir klasör. Git sürümünden yararlanmak için başlatmak bir havuz olarak klasör. Bunu bir komut satırında aşağıdaki komutla yapabilirsiniz:

Git Init

Bu tamamlandığında hiçbir şey göremeyebilirsiniz, ancak “Gizli dosyaları göster” Dosya yöneticinizde bir seçenek varsa, göreceksiniz ki .git klasör (yukarıdaki resimde gösterildiği gibi). Git'in tüm bilgilerini sakladığı yer burası.

2. İlk Dosyanızı Ekleyin ve Tamamlayın

Bir sonraki adım, projenizde bazı içerikler (dosyalar) oluşturmaktır. Programlama projelerinin çoğu kod (metin) ve grafikler (ikili) gibi varlıklardan oluştuğu için bunlar her tür dosya olabilir. Dosya Formatları ve Özellikleri Hakkında Bilmeniz Gereken Her Şey Dosya Formatları ve Özellikleri Hakkında Bilmeniz Gereken Her Şey kelime dosyasını birbirinin yerine kullanın: müzik, resim, elektronik tablo, slayt gösterisi vb. Ama yine de bir dosyayı "dosya" yapan nedir? Bilgisayarın bu temel kısmını anlamaya çalışalım. . Oluşturulduktan sonra, proje dizininizdeyken komut satırında aşağıdakileri yapın:

git durumu

Taahhüt için ilk adım “evre” yeni veya güncellenmiş öğeler. Yukarıdaki çıktının ne olduğunu bilmenizi sağlayın “unstaged” değişiklik mi? Dizininizdeki her şeyi (özyinelemeyle, yani alt klasörleri ve dosyalarını dahil etmek üzere) bu komutla aşamalandırabilirsiniz:

git -a .

“-bir” bayrak “eklemek,” ve dönem, geçerli dizine işaret eder. Temel olarak söylüyor “tüm dosyaları benim taahhüdüme ekle.” Şimdi gerçekten taahhütte bulunmak için aşağıdakileri yazın:

git taahhüt -m "WHOOP, ilk taahhüdüm!"

Şimdi durumu tekrar kontrol ettiğinizde bekleme değişikliği olmamalıdır. Taahhüdün kendisini görmek için, git günlüğünü kullanarak grafik modu, kesilmiş liste ile Tek çizgi, ve dekore edilmiş okunabilirlik için:

git günlüğü - all --decorate --oneline --graph

Bu, en sonda en üstte olan, taahhüdünüzün güzel bir zaman çizelgesini gösterir.

3. Deneme için Şube Yaratın

Çalışırken, çalışıp çalışmayacağını bilerek değil, belirli bir yönde çıkmak isteyebilirsiniz. Bunun için aşağıdaki komutla bir şube oluşturmak isteyeceksiniz:

git şube deneme1 git ödeme deneme1

İkinci komut sizi “experiment1” dalı. İle değiştirerek geri dönebilirsiniz “ana.” Metniniz üzerinde çalışmaya başladığınızda, aynı dosya Her şubeden. İlk önce “experiment1” yeni metninizle dallanma:

Bunu orijinalle karşılaştırın:

Şimdi bir süre çalıştıktan sonra (yeni bir taahhütle sona erecek), bulabileceğiniz en iyi şey “Lorem ipsum dolor amet otur… ?” O nedir? Saçma ve projenizden derhal etkilenmeli. Şubenizi aşağıdaki komutla silebilirsiniz (“-D” zorla silmek için):

git şubesi -D deneyi1

Şimdi başka bir şubeye başlayın ve bazı resimlerle birlikte akıllıca bir şeyler ekleyin:

git şube deneme2 git ödeme deneme2 git add. git commit -m "Daha fazla metin, resim ekle"

4. Değişikliklerinizi Birleştirin

Son olarak, geçerli şubenizdeki değişikliklerden memnun olduğunuzda, aşağıdaki komut bunları aşağıdakilerle birleştirir: “ana” dalı. İkisi arasında ileri geri durmadığınız takdirde, tüm yeni değişikliklerin uygulanmasına ve yeni bir revizyonun oluşmasına neden olacaktır. Komut satırında aşağıdakiler bunları sizin için birleştirecektir:

git birleştirme deneme2

Şimdi sonuncuyu birleştiren bir revizyona sahip olacaksınız. “ana” en son “experiment2.” Bu noktada denemeden kurtulabilirsiniz (sonuçta başarılı olmuştur):

git dalı -d deneyi2

Unutmayın, yalnızca yaparsanız, o dalda yaptığınız artan değişikliklerden herhangi birini kaybedeceksiniz..

5. Güvenli Bir Yere İtin

Son olarak, Git bir dağıtılmış sistem, yani havuzunuzun birden fazla kopyasına sahip olabilir ve onları senkronize edebilirsiniz. Örneğin, SSH sunucusuna SSH ile uzaktan nasıl yönetilir SSH ile Linux Sunucusunu Uzaktan Yönetme SSH ile Linux Sunucusunu Uzaktan Yönetme SSH ile Linux Sunucusunu Uzaktan Yönetme SSH çok işlevseldir, bu yüzden uzak sunucu yönetimi için go-to-go. Bir Linux sunucusunu SSH, bağlantıdan yazılım yüklemeye ve dosya transferine kadar uzaktan yönetmeyi öğrenin. bu komutla:

git init --bare

“-çıplak” flag, dosyaları doğrudan değiştirememeniz için onu salt okunur bir depo olarak ayarlar. Ardından, yerel deponuzun uzak bir kopyası olarak aşağıdakileri yapabilirsiniz (ilk komut, yeni yerel dalların uzaktan oluşturulmasını sağlar):

git config push.default eşleştirme git remote add central ssh: // [kullanıcı adı] @ [URL] / yol / adres / depo git push --set-upstream central master

Git ile Sürüm Oluşturma ve Yedekleme için Ayarlama

Yukarıdaki kurulumla, bir projede yaptığınız tüm işleri sadece sürümlü değil aynı zamanda yedeklenmiş halde tutmak için basit bir işlemi takip edebilirsiniz..

  1. Proje dosyalarında değişiklik yapın.
  2. Konu “Git ekle .” tüm değişiklikleri bir taahhüte eklemek için.
  3. Konu “git commit -m [bir mesaj]” değişiklikleri yapmak için yerel deposu. En baştan tekrarla.
  4. Konu “git it” değişiklikleri düzenli aralıklarla uzak bir depoya koymak.
  5. Konu “git clone ssh: // [kullanıcı adı] @ [URL] / yol / to / depo” başka bir makineden

Versiyon kontrol sistemlerinin faydaları ilginizi çeken bir şey mi? Yoksa gelişim dışı yedekleme uygulamaları ihtiyaçlarınız için yeterli mi? Aşağıdaki yorumlardaki düşüncelerinizi bize bildirin!




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.