Git taşımak için ilginç bir şekilde çalışır dosya değişikliklerinin geçmişi. Bunların her birinde değişiklikleri arıyor gibi görünse de, gerçekte yaptığı şey, adında bir dosya taşımaktır. dizin, meydana gelen değişikliklerin eklendiği yer. Bu şekilde, sadece dosyayı okuyarak dizin hangi dosyaların ve hangi içeriğin değiştirildiğini öğrenebilirsiniz.
Bu kavramı bir kez anladığımızda Git Kaydedilen değişiklikleri alır, araçtan tam olarak yararlanmaya başlayabileceğimiz zamandır, çünkü şu anda değişiklikleri havuzumuzdan almak ve bunları mantıksal bir şekilde işlemek için farklı komutları kullanmaya başlayabileceğiz. perspektif.
Git içindeki dosyaları sınıflandırma
Daha derin noktalara devam etmeden önce, nasıl olduğunu görmeliyiz. Git dosyalarınızı sınıflandırır. Bu, uzantısı nedeniyle dosya türüne göre bir sınıflandırma anlamına gelmez, daha çok bizim depomuza ve içeriğine göre statüsüne göre bir sınıflandırma anlamına gelir. dizin.
Temelde üç tür dosyamız var. GİT, her birinin depoda kendi anı var, bakalım bunlar neler:
izlenenBu tür dosyalar depomuza zaten eklenmiştir ve dizin ve bir dosya bu durumu aşağıdaki komutla ekledikten sonra alır.
git dosya adı ekleYok sayıldıBu sınıflandırmada bir dosya görmezden gelindi tarafından dikkate alınmaz Git Değişiklikler yapılırken, çok fazla değişikliğe uğrayan veya projenin istikrarı için hayati önem taşımayan dosyalar normalde bu şekilde sınıflandırılır, örneğin ağırlıkları nedeniyle görüntü dosyaları veya belki de komut dosyaları. Veri tabanı her zaman değiştirmek zorunda olmadığımızı. Bir dosyayı yok saymak için adının bir dosyaya eklenmesi gerekir. .gitignore ve depomuza ekleyin.
izlenmeyenBu dosya türü henüz bizim depomuza ait değil çünkü henüz eklemedik ve dosya sisteminde yeni, genellikle önceden başlatılmış bir depoda yeni bir dosya oluşturduğumuzda veya bir klasördeki bir depoyu başlattığımızda olur. mevcut dosyalara sahip olan.
Pratik dosya sınıflandırma örneği
Şimdi bir depodaki dosya türlerini nasıl tespit edebileceğimize dair küçük bir pratik örnek görelim. Git, bunun için aşağıdaki adımları izlemeliyiz:
1- Bilgisayarımızda adında yeni bir klasör oluşturacağız. git dosyaları.
2- Klasör oluşturulduktan sonra konsolumuzdan gireceğiz ve orada komutu uygulayacağız. git init ve sonra yaparız git durumu Depomuzun durumunu görmek için önceki komutların uygulamasının nasıl göründüğüne bakalım:
3- Bir önceki adımı tamamladığımızda bir depomuz olacak Git başlatıldı ve çalışmaya hazır, sonra o klasörde yeni bir dosya oluşturabiliriz ve tekrar yapacağız git durumu değişikliği görmek için yeni dosyamızı sınıflandırma altında almalıyız. izlenmeyen.
4- Tekrar yapmanın sonucunu görürsek, önceki adımı tekrarlayacağız ve yeni bir dosya oluşturacağız. git durumu her iki dosyayı da sayacağız, bakalım:
5- Şimdi adında yeni bir dosya oluşturacağız. .gitignore,dosyadan önceki noktaya dikkat edin ve içimize önceki dosyalarımızdan birinin adını koyacağız,yine yapıyoruz git durumu ve şimdi sadece içinde olmayan dosyayı aldığımızı göreceğiz. .gitignore ve dosya .gitignore az önce yarattık:
6- O zaman bir git ekle. tüm dosyalarımızı eklemek için ve sonunda bir git commit -m "ilk taahhüt" bununla dosyalarımızı depoya ekleyerek, içine koymadığımız dosyada bir değişiklik yaparsak .gitignore ve tekrar koşarsak kurtarırız git durumu durum veya sınıflandırmada bir dosya göreceğiz izlenen.
git ekle komutu
Bir önceki örnekte, git ekle ve belki de bunun aracımızın bir komutu daha olduğunu düşünebiliriz ama bu çok önemli, bize izin veren de bu. depomuza bir dosya ekleyin eğer henüz içinde mevcut değilse ve mevcut bir dosyada meydana gelen değişiklikleri depomuza eklememize de izin verir.
Nasıl kullanılır?Kullanmanın birkaç yolu vardır, en yaygın olanı yapmaktır. git dosya adı ekle, ona hangi dosyayı ekleyeceğini veya yapamadığımızı söylediğimiz yer git ekle. nokta, değiştirilmiş veya depoda olmayan tüm dosyaları temsil eder.
Depoda herhangi bir değişiklik yaptıktan sonra dosyaları eklememiz çok önemlidir. git ekle, aksi takdirde dosyanın farklı sürümlerini oluşturmanın yanı sıra, gelecekte olası bir çakışmaya yol açabilecek değişikliklerimizi kaydedemeyeceğiz.
git add'ı kullanma
Klasörümüzün içinde git dosyaları öğreticinin önceki örneğinde oluşturduğumuz, yerleştireceğimiz yeni bir dosya ekleyeceğiz. yeniDosya3 ve sonra içinde olmayan mevcut dosyada .gitignore hadi bir değişiklik yapalım.
Bununla elde etmek istediğimiz şey, komutumuzu nasıl kullanacağımızı test etmektir. git ekle, bunun komut konsolumuzda nasıl göründüğüne bakalım:
Önceki talimatları izledikten sonra, ekranda bize gösterilen yukarıdaki gibi bir şeye sahip olmamız gerekirdi. değiştirilmiş dosya ve bir yepyeni dosya depoda.
Şimdi yeni dosyayı depoya ekleyeceğiz, ancak bunu mevcut dosyayla veya daha önce değiştirdiğimiz dosyayla yapmayacağız. Bunun için yapmamız gereken sadece git dosya adımızı ekle. O zaman yapacağız git durumu. Görelim:
Gördüğümüz gibi, depomuz zaten eklediğimiz dosyayı hesaba katıyor. git ekle, temel olarak dosyalarımızdaki değişiklikler üzerinde bu şekilde çalışabiliriz.
Depodaki dosyaları silin
Nasıl yapacağımızı bilmemiz gereken bir sonraki eylem, dosyaları depomuzdan çıkarmaktır, çünkü yanlışlıkla bir şeyler yaratmamız çok yaygındır ya da sadece içindekileri düzene sokarız.
Dikkate alınması gereken iki şey var, dosyayı dizinden kaldırabiliriz depomuzun dışında, ancak söz konusu dosyayı klasörümüzün sisteminde tutun, bu yüzden bir git durumu Tekrar kullanılabilir olduğunu göreceğiz. Ya da dosyayı hem kendi klasörümüzden hem de dizin depomuzdan bunun için şu komutu kullanabiliriz: git rm.
git rm - -cached komutu
Komutu kullanarak rm ek seçeneği ile önbelleğe alınmış, bizim yaptığımız söz konusu dosyayı dosyadan silmek. dizinAncak biz bunu bilgisayarımızda tutacağız, bu komut çok kullanıldığı zaman bu dosyayı henüz depomuza eklemek istemiyoruz ama diğer değişiklikleri kaydetmemiz gerekiyor.
Kullanmak için, zaten eklediğimizde komutu uygulamamız yeterlidir. git ekle bir dosya, bunun komut konsolumuzda nasıl göründüğüne bakalım:
not ediyoruz ki dosya yeniDosya3 Depomuza eklediğimiz şu anda orada değil ve sınıflandırmaya sahip izlenmeyen.
Git rm komutu
Şimdi komutu nasıl kullanacağımızı görelim git rm, bu komut dosyayı doğrudan kaldırdığı için çok daha güçlüdür. dizin ve dosya, bu yüzden onu depomuzda kullanmaya karar verdiğimizde dikkatli olmalıyız, bir kez uygulandığında değişikliği geri alamayacağımız çok muhtemeldir.
Aşağıdaki örnekte bir dosyaya uyguladığımızda nasıl çalıştığını görelim, bu durumda ekleyeceğiz. yeniDosya3 ile birlikte git ekle ve sonra buna başvuracağız git rm:
Direkt yaptığımızda görüyoruz. git bize bir hata gösteriyor ve parametreyi eklerken zorunlu silme yapmamızı istiyor -F talimata göre bu, değişikliğin öneminden kaynaklanmaktadır, sonunda bir git durumu ve söz konusu dosyanın tamamıyla depomuzdan kaybolduğunu fark edeceğiz.
.gitignore'dan daha fazlası
Dosyamıza belirli bir dosya ekleyebileceğimizi görebildik. .gitignoreAncak yüzlerce, belki de binlerce dosyayla uğraştığımız bir ortamda çalıştığımızda bu çok pratik değil, bu yüzden kalıpları kullanabiliriz.
Bir desen belirtmemize izin verecek Git karakter dizisini veya ifadeyi karşılayan bir dosyanın yok sayılması gerektiğini, bununla tüm projede veya özel bir klasör içinde belirli uzantıları belirtebiliriz. Bunun bir örneğine bakalım.
* .jpg.webp projemizin tüm .jpg.webp dosyalarını yok sayar, ancak özellikle birinin izini sürmek istiyorsak şunu eklememiz yeterli:
dosyaadı.jpg.webpBu kadar basit, depomuzu düzenli tutmamızı sağlayan güçlü ve karmaşık bir yapıya sahibiz.
Bununla bu öğreticiyi bitiriyoruz, kapsamlı bir şekilde gördük ki Git dosyalarımızdaki değişiklikleri taşır veya yönetir, bu konuya hakim olmak önemlidir, çünkü bununla ele alındığı ekip ortamlarında daha verimli çalışabileceğiz Git sürüm denetleyicisi olarak.