Git staging Area dosya kaydet - Git add & status
Projenizi ister yerel bir depoda olsun isterseniz uzak bir depodan klonlamış olsun tüm değişiklikleriniz yerel diskinizde gerçekleşecek ve commitleriniz ile oluşturacağınız tüm versiyonlar Git tarafından yerel diskinizdeki .git
klasöründeki Git veri tabanında kayıt altına alınıp takip edilecektir. git push
komutunu çalıştırmadığınız sürece yaptığınız değişiklikler sadece yerel diskinizde kayıt altına alınır.
Working Tree (Çalışma Ağacı) - Staging Area (Hazırlanma Alanı) – Local Repository (Yerel Depo)
Git’de üç tane alan vardır. Bunlardan ilki Working Tree olarak da bilinen Working Area’dır. Working Area, geliştiricinin o anda üzerinde çalıştığı alandır. Dosyalar bu alanda bulunur. Dosyalarda yapılan değişiklikler Working Area üzerinde görülür ve bu değişiklikler kaydedilmediği sürece kaybolur.
Git, dosyalardaki değişiklikleri izlemeye ve kaydetmeye başladığında Staging Area’ya geçilmiş olur. Dosyalar Staging Area’ya geçtiğinde Git artık bu dosyaları izlemeye başlamış olur ve bu dosyalardan haberdardır. Fakat bir dosya Staging Area’ya alındıktan sonra üzerinde değişiklik yapılırsa Git bunu yine görmeyecektir ve bu değişikliğin Git’e tekrar bildirilmesi gerekir. Dosyaları Staging Area’ya eklemek için git add
komutu kullanılır.
Local Repository (Yerel Depo) ise .git
dizinimizin içindeki her şeydir. Temel olarak tüm commit’lerimizin tutulduğu yerdir denebilir. Dosyaları ve bunlar üzerindeki değişiklikleri Staging Area’dan Local Repository’ye geçirmek için git commit
komutu kullanılır. Bu komut ile Staging Area üzerindeki tüm değişiklikler alınır, birlikte paketlenir ve Local Repository’ye yerleştirilir. Commit komutu, son değişikliklerimizi Git’in takip etmesi için kullandığımız bir kontrol noktası olarak düşünülebilir. Commit edildikten sonra Staging Area boş kalmış olur.
Dosya Durumları
Git'de dosyalarınız genel olarak iki durumda olabilir.
Takip Edilmeyen (Untracked), bu durumdaki dosyalar versiyon kontrolü altında olmayan veya sizin henüz versiyon kontrolü yapmak için Git'e eklemediğiniz dosyalardır. Bu dosyalardaki değişiklikler siz dosyaları Git'e eklemediğiniz sürece versiyon kontrolüne tabi değildir.
Takip Altında (Tracked), bu durumdaki dosyalar ise Git'in versiyon kontrolü takibi altında olan dosyalardır. Bu dosyalar üzerinde yapacağınız tüm değişiklikler Git
tarafından takip edilmektedir.
Staging Area
Çoğu versiyon kontrol sisteminde değişiklikleriniz iki yerde kaydedilir.
- Yerel diskinizdeki çalışma klasörünüz (working copy) veya
- Versiyon kontrol sisteminin veri tabanı
Ancak Git'de değişikliklerinizin kayıt altına alındığı üçüncü bir alan daha vardır ki buna Staging Area denir ve Git'in en temel kavramlarından birisidir. Staging Area'yı, proje dosyalarımızdaki bir dizi değişikliği yeni bir versiyon olarak mühürlemeden önce kayıt altında tuttuğunuz veri tabanı olarak tanımlayabiliriz.
git add
Git ile versiyon kontrolü altına aldığınız projenize dosya eklediğinizde, dosya sildiğinizde veya var olan bir dosyanın içeriğini değiştirdiğinizde bu değişiklikler Git tarafından otomatik olarak takip edilmez. Git'in bu dosyaları takip etmesi için git add
komutu ile bu dosyaları önce Git’e tanıtmanız gerekir.
git add
komutu, dosya içeriğini Dizine Staging Area (Hazırlama Alanı) eklemek için kullanılır. Bu komut, çalışma ağacının mevcut içeriğini hazırlama alanına günceller. Ayrıca, bir sonraki işleme için hazırlanan içeriği hazırlar. Projemize her dosya eklediğimizde veya güncellediğimiz zaman, güncellemeleri hazırlama alanına iletmek gerekiyor.
git add
komutu, varsayılan olarak .gitignore
dosyasını eklemez. Aslında bu komutla dosyaları yok sayabiliriz.
Git'e nasıl dosya ekleneceğini anlayalım mı?
Git add files
git add
komutu basit bir komuttur. Hazırlama alanına dosyalar ekler. Hazırlama alanında bir kerede tek veya birden fazla dosya ekleyebiliriz. Şu şekilde çalıştırılacaktır:
git add <file1> <file2>
Yukarıdaki komut git hazırlama alanına eklenir, ancak sürüm kontrol sisteminde paylaşılamaz. Paylaşmak için bir taahhüt işlemi gerekir. Aşağıdaki senaryoyu anlayalım.
Deneme dizinin içinde yeni oluşturduğumuz depomuz için bir dosya oluşturduk. Bir dosya oluşturmak için touch
komutunu aşağıdaki gibi kullanın:
touch deneme.txt
touch test.txt
Ve Dosyaların takip edilmeyen olup olmadığını git status
komutu ile aşağıdaki gibi kontrol edin:
git status
ÇIKTI:
Yukarıdaki komut, depodaki izlenmeyen dosyaları gösterecektir. Bu dosyalar depomuza eklenebilir. Bu iki dosya Staging Area(Geçici alan) kaydedilmiş.
git add deneme.txt test.txt
Yukarıdaki komutla Hazırlanma alanına dosyaları kaydeder.
Tekrar git status
komutu ile duruma bakalım.
git status
ÇIKTI:
Yukarıda çıktıda yeşil yazı ile görüldüğü üzere yerel depomazı 2 dosya gönderilmesi gerektiğini söylüyor.
Git Birden Fazla Dosya Ekle
Git'te birden fazla dosya ekleyebiliriz ancak add komutunu tekrar tekrar çalıştırmamız gerekiyor. Git, mevcut tüm dosyaları bir kerede ekleyebileceğimiz benzersiz bir add komutu seçeneği ile bize kolaylık sağlıyor. Depodaki tüm dosyaları eklemek için --all
seçeneğiyle ekle komutunu çalıştırın . Kullanabiliriz '.', '*' ve --all seçeneği yerine. Bu komut, tüm dosyaları bir seferde hazırlayacaktır. Aşağıdaki gibi çalışacaktır:
git add --all
Kısa gösterimi
git add -A //--all yerine geçer
git . //bulunduğu dizinde Tüm dosyalar
git * //Tüm dosyalar
Yukarıdaki komut, depoda bulunan tüm dosyaları ekleyecektir.
git add -A
Yukarıdaki komut, tüm dosyaları hazırlama alanına ekleyecektir. Unutmayın, -A seçeneği büyük/küçük harf duyarlıdır. Aşağıdaki çıktıyı göz önünde bulundurun:
Tüm Değiştirilmiş ve Silinmiş Dosyaları Ekle
git add
, çeşitli seçeneklerle bize kolaylık sağlıyor. Git'te yalnızca değiştirilen ve silinen dosyaları sahnelememize izin veren başka bir seçenek daha var. Yeni oluşturulan dosyayı aşamalandırmaz. Yalnızca değiştirilen ve silinen tüm dosyaları düzenlemek için aşağıdaki komutu çalıştırın:
git add -u
Git rm –cached
git rm –cached bayrağı
, hazırlama alanından bir dosyayı kaldırır. Çalışma dizinindeki dosyalar olduğu gibi kalacaktır. Bu, yerel olarak dosyanın bir kopyasına sahip olacağınız anlamına gelir. Dosya, Git projenizi izleyen dizinden kaldırılacaktır.
git status
ÇIKTI:
Test.txt
dosyasını Staging Area bölgesinden silelim.
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME