Programlama Projenizi Yapılandırmak için Git Şubelerini Kullanma

  • Harry James
  • 0
  • 2344
  • 629
reklâm

Filmler ve televizyon, programlamayı çılgınca bir etkinlik olarak canlandırıyor Hollywood Hacks: Filmlerde En İyi ve En Kötü Hacking Hollywood Hacks: Filmlerde En İyi ve En Kötü Hacking Hollywood ile bilgisayar korsanlarının üstesinden gelemiyorlar. Gerçek hayat hack zor olsa da, film hack çoğu zaman sadece parmaklarınızı tarz dışa gidiyor gibi bir klavyede çarparak içerir. . Bir bombanın zamanlayıcısı geri sayıyor ve o noktaya kadar yüklenen inek yardımcısı dizüstü bilgisayarda ateşli bir şekilde çalışıyor. Kod tatmin edici bir şekilde son dönüş tuşuna basana kadar ekranda uçuyor laklak! Zamanlayıcı durur ve tüm dünyada yine doğru. Ancak programlama böyle bir şey değildir. Tasarım belgeleri, kullanıcı arayüzü modelleri ve kod incelemeleri içerir. Ve her şeyden öte, deneme yanılma (özellikle de bir acemi iseniz).

Şimdi, kodlama projelerinizi kaynak kontrolünde tutmanın değeri konusunda zaten ikna olmuş olabilirsiniz. Git Nedir ve Geliştirici Olmalı mı? Sürüm Kontrolü Kullanmalısınız Web geliştiricileri olarak, çoğu zaman yerel geliştirme sitelerinde çalışma eğilimindeyiz, daha sonra işimiz bittiğinde her şeyi yükleyin. Sadece sen olduğunda ve değişiklikler küçük olduğunda bu iyidir. Tüm bu deneme ve yanıltmayı depoya yatırmak, birçok revizyon ile büyük ve düzensiz bir proje gerçekleştirecektir. Yaptığın işlerin çoğu kırılmış şeyler içerecek, peki neden kurtardın? Git şube özelliği tüm bu karışık kodları çalıştığını bildiğiniz şeylerden uzak tutmanıza yardımcı olabilir.

Bu makalede, kodunuzun branşlamasının ne anlama geldiğine, nasıl yapılacağına ve güncellemeleri yönetme yollarına bakacağız. “ana” şube.

Git Şubesi Oluşturmak

Kaynak denetimine giriş bölümümüzden öğrendik. Git ile bir Programcı Gibi Dosya Sürümünü Yönetin Bir Gitmek için Bir Programcı Gibi Dosya Sürümünü Yönetin Bir Gibi Programcı Gibi Dosya Sürüm Kontrolü sorunlarını çözmek için sürüm kontrol sistemleri (VCS) oluşturduk. Bugünün en iyi sistemi kullanan sürüm kontrolünün temellerine bakalım Git. Bir terminalde aşağıdaki komutla yeni bir depo oluşturabileceğinizin:

Git Init

Bunu yaptığınızda, geçerli yolunuzda adı verilen gizli bir dizin oluşturur. “.git.” Bunu göremiyorsanız, Windows 10, 8.1 ve 7'de Gizli Dosya ve Klasörleri Göstermenin Kolay Kolay Yolunu Windows 10, 8.1 ve 7'de Gizli Dosya ve Klasörleri Göstermenin Kolay Yolunu görüntüleme hakkındaki bazı makalelerimize bakın. 7 Windows'ta gizli dosya ve klasörleri görmeniz mi gerekiyor? İşte size Windows 10, 8.1 ve 7'de nasıl bir şey gizlenmeyeceğini gösterme. dosyalar Mac OS X'te Herhangi Bir Dosyayı Gizle ve Bulun Mac OS X'te Herhangi Bir Dosyayı Gizle ve Bulun Windows'ta olduğu gibi Mac OS X'te gizli dosyaları hızlıca gizlemenin veya göstermenin kolay bir yolu yoktur - ancak bu mümkündür. . Bu dizin, dosyalarınızın revizyon geçmişini tutmak için gerekli tüm bilgileri içerir. Dosya yöneticinizi gizli dosyaları gösterecek şekilde ayarladıktan sonra, .git klasörünü açıp birkaç alt dizin görebilirsiniz. Bunlardan biri denir “ref” (aşağıdaki resimde gösterilmiştir) ve “kafaları” alt dizin, projenizdeki tüm dalların listelerini içerir. Başlangıçta, sadece bir tane olacak “ana.”

Refs dizini şubenin kaydını tutar, fakat şubenin kendisinin kaydını tutmaz. En azından sen değilsin şu anda kullanıyor. Bu dosyalar çalışma dizininde tutulur (“~ / Sıcaklık / post-programlama-git-şube” Yukarıdaki örnekte) böylece normal bir şekilde bunlara erişebilirsiniz. Tam olarak bunu yaparak ilk dosyamızı yarattık (adlandırılmış “birinci dosya.txt”) çalışma dizininde, yani. dışında .git dizini. Bunu, önceki intro'dan git git gittiğe kadar olan komutları kullanarak kontrol edin. Git ile bir Programcı Gibi Dosya Versiyonunu Yönetin Git ve Bir Dosyacı Sürümünü Yönetin Bir Programcı Gibi Git ile Programcıyı Yönetin Bugünün en iyi sistemi kullanan sürüm kontrolünün temellerine bakalım Git. :

Şimdi çalışma dizininin iki dosyaya sahip olduğunu görüyoruz, bunlardan biri, diğeri ise git tarafından otomatik olarak oluşturuldu (az önce girdiğimiz taahhüt mesajını içeriyor).

Şimdi yeni bir git dalı oluşturalım. “test yapmak”:

git şube testi

Şubeyi Kontrol Etme ve İçinde Çalışma

Şu anda hangisini kullandığımızla ilgili olarak tüm şubelerin bir listesini almak için yukarıdaki komutu herhangi bir isim olmadan verebiliriz. “kontrol edildi”):

Şimdi, dizin yapısını incelersek, göreceğiz “.git / ref / kafaları” Şimdi her biri için iki dosya var. “ana” ve “test yapmak.”

Bunların her biri, dalı oluşturan taahhütlerin bir listesidir. Örneğin, eğer incelersek “ana” ile şube “Git günlüğü” komut, o şubeye yapılan taahhütlerin her biri için bir satır görebiliriz..

Süreci “kontrol etmek” dal, dosyalarda yaptığınız değişikliklerin o dalın bir parçası olacağı ancak diğer dalların olmayacağı anlamına gelir. Örneğin, test git dalını şu komutla kontrol ettiğimizi varsayalım:

git ödeme testi

Sonra elbette sonradan işleyerek first-file.txt dosyasına bir metin satırı ekleriz. Ana şubeye geri dönerseniz, dosyanın hala boş olduğunu görürsünüz ( kedi komut bir dosyanın içeriğini terminalde gösterir):

Ama geri dönen “test yapmak” dalında, dosya hala eklenmiş metne sahiptir:

Ama dizinde gördüğümüz tek şey doğru dosya. “birinci dosya.txt.” Öyleyse aynı dosyanın bu iki alternatif versiyonu nerede? .Git dizini bu değişiklikleri hesaba katar, ancak beklediğiniz şekilde değil.

Git Şeyler Nasıl Saklıyor?

Subversion gibi diğer sürüm kontrol sistemleri için bir depo incelemek zorunda kalırsanız, her dosya için revizyon başına bir kopya bulundurduklarını görürsünüz. Bunun anlamı, bir dosya deponuz varsa, sonra iki dal oluşturun, repo bu dosyanın iki farklı kopyasını içerir. Aslında, gerçekten kullanıyorsun “svn kopyası” Subversion'da şube oluşturma komutu! Öte yandan, git kavramı “değişiklikler.”

Yukarıdakilerin çıktısı bize tüm içeriğini gösterir. “gövde” (SVN’nin sürümü “ana”) kopyalandı. Bir dosya yöneticisine bir bakış, şunu doğrular:

.git / nesneleri” Dizin, tüm bu küçük değişiklikleri tutan şeydir ve her biri bir ID ile izlenir. Örneğin, aşağıdaki resimde, uzun ID stili ada sahip dosyaları göreceksiniz. Her biri iki onaltılık karakterden oluşan bir klasörde yaşar (8c ve 8d altında).

Birlikte, bu klasör ve dosya adları, belirli bir değişikliğin kimliğini oluşturur (aslında bir SHA1 karması). İçeriklerini kullanarak keşfedebilirsiniz. git kedi dosyası Komut. Değiştirilen tarihlere göre bir başlangıcı görebiliriz “8d” ilk geldi ve hiçbir şey göstermedi. Biri başlarken “8c” içindeki dosyaya eklediğimiz metin satırını içerir. “test yapmak” şube.

Paket servisi olan restoran git şube (varsayılan dahil) “ana”) ayrı değil “klasörler” dosyaların kopyalarını içeren. Aksine, bunlar zaman içinde dosyalarda yapılan değişikliklerin listesidir. Bu depolama açısından daha verimli, ancak sonuç aynı. Git şubesinde yaptığın her şey (ayrılsın mı?) Birleşene kadar orada kalır..

Ana Şubeye Geri Dönme Stratejileri (Silmek veya Silmemek İçin)

Varsayalım ki, daha sonra da içine dalmış olduğunuz çok sayıda dosya içeren bir projeniz vardı. “test yapmak,” ve üzerinde bazı işler yaptı. Şimdi bu değişiklikleri geri almak istiyorsun. “ana” dalı. İle aşağıdakileri yapabilirsiniz “ana” şube:

git birleştirme testi

Sunulan çatışmalar olmadığı sürece, değişiklik yeni metinden oluşan uygulamalı için “ana.” Sonuç “birinci dosya.txt” Her iki dalda da aynı olacaktır. Oysa hiçbir zaman alternatif olmadı versiyonları dosyanın.

Şimdi soru geliyor, şubeyle ne yapmalı? Şubelerle başa çıkmanın iki ortak stratejisi vardır..

  1. Biri gibi git git bir şube tutmaktır “test yapmak” Etrafında oynamak için (yukarıda gösterilen). Bazı şeyleri denersiniz ve çalışmasını sağlayabiliyorsanız değişiklikleri tekrar birleştirin “ana.” O zaman bu şube üzerinde çalışmayı sonlandırabilir, hatta tamamen ondan kurtulabilirsiniz. Bu senin demek “ana” olduğu en kararlı sürüm Kodun, çünkü yalnızca çalıştığını bildiğiniz şeyleri içermesi gerekir. Bu yaklaşımı kullanarak da düşünebilirsiniz. “özellik dalları.” Bunun nedeni, amaçlarının koda özgü bir (veya birkaç) eklemeyi düzeltmektir..
  2. Farklı bir yaklaşım, tüm ana çalışmalarınızı yapmaktır. “ana” şube, yol boyunca taahhüt eder. İşlevsellikten memnun kaldığınızda, içinde hata ayıklama ve benzeri işlemleri yapacağınız bir dal oluşturursunuz. Bu daha fazla sonuçlanır “serbest bırakma dalı” (aşağıda gösterilmiştir), serbest bırakılma ile bitiyorlar gibi. Aynı zamanda senin “ana” dal tipiktir en dengesiz sürüm kodunuzun.

Hangi Yöntemi Sizin İçin En Uygunsa Kullanın

Buradaki ilk yaklaşım git ile çalışırken daha yaygın. Diğer özellikleri (özellikle etiketler) kodun belirli bir anlık görüntüsünü işaretlemeyi kolaylaştırır. “kararlı.” Aynı zamanda daha büyük, işbirliğine dayalı projelere kendisini daha iyi borç veriyor. Ancak kendi kişisel projeleriniz üzerinde çalışırken, bunlardan hangisini sizin için en anlamlı kılanları kullanmaktan çekinmeyin. Git'i kullanmanın harika yanı, tüm değişikliklerinizi yakalamanızdır, böylece her zaman geri dönüp bir şeyler bulabilirsiniz. Projenizi git şubeleriyle organize etmek, bunu biraz daha kolaylaştırıyor.

Projelerinizde şubelere nasıl yaklaşıyorsunuz? Onları deney yapmak için kullanıyor musunuz, sonradan çöpe atıyor musunuz? Yoksa proje üzerindeki çalışmanızın ayrıntılı bir geçmişini mi temsil ediyorlar??

Git projelerinizde şubelerle uğraşmak konusunda akıllıca bir yolunuz varsa, yorumlarda 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.