Versiyon Kontrolleri: Git ve GitHub-3
Hellooo everyone 😊 Bugün yazdığımız kodları git ile ilişkilendirip add, commit, branch vb. gibi kısımları öğreneceğiz. Herkes hazırsa başlıyorummm…
Git de yaptığımız değişiklikleri kaydetmeye commit denir. Örneğin bir uygulama tasarladığımızı düşünelim her aşamayı sırayla tamamladıkça kaydetmemi gerekir ki herhangi bir hata olduğunda geri dönülecek spesifik noktalara rahatça ulaşabilelim. Aşağıdaki örnekte her bir mavi daire bir commit’e eşittir.
Branch oluşturmak kullanıcıya çalıştığı projenin farklı versiyonlarına erişmesini sağlar. Kullanıcı, projesine bir yenilik eklemek istediğinde, yaptığı değişiklik projenin çalışmasını olumsuz etkileyebilir. Bu gibi durumlarda projemizin o anki halini bozmamak için branch kullanabiliriz. Branch’ e dal da diyebliriz ve kişi iki farklı dalda çalışılabilir. Bu branch’ler istenildiğinde bir noktada birleştirilebilir.
Stage alanınızdaki dosyaları, “commit” yaparak uzaktaki sunucunuza (git directory) gönderebilirsiniz. Bir dosyayı stage’lemek, aslında o dosyayı bir sonraki “commit”’e hazırlamak demektir. Aynı dosyada olsa bile, sadece stage’lediğiniz değişiklikler bir sonraki commit’inizde uzaktaki git sunucusuna gönderilecektir.
git status= Güncel git durumunu gösterir. Oluşturulan klasör içerisine dosya ekledikten sonra duruma bakmak için git status dersek untracked files olarak gözükmekte yani bu dosyalar var ama git bunu kontrol etmemektedir.
git add diyerek bu dosyaları commitlemeden önce ara bir kısım olan stage alanına alıyoruz.
git init= git initialize klasör ile giti ilişkilendirir. Bir klasörde veya kontrol edilecek konumda git init den önce git status çalıştırılarak git durumu kontrol edilmelidir aynı yere iki defa git init ile git initialized edilirse hata ve çakışmalar(conflict) yaşanabilir.
git add= Commitlemeden önce stage kısmına alan komuttur.
git commit= Bu komutla dosyalarımız Local Storage’a alınır. git commit yazılırsa default editor açılır ve bu commitin anlaşılması için commit mesajı
ya da commit notu yazılması istenir. Bu işlem yapıldıktan sonra bildirim gelir kaç adet dosyanın değiştiği, dosyalara eklenen ve çıkarılan kod satırları gibi bilgiler ekrana yazdırılır.
git commit -m “mesaj”= Mesaj ile birlikte commit yapmamızı sağlar.
git log= Commitleri ve commtilerin hash kodunu ekrana yazdırır. Bu commite geri dönmek istediğimizde bu hash değerini kullanırız. Her bir yaptığımız commit’i ve o commit’in kimin tarafından yapıldığını kayıt altında tutar.
git commit -a= Dosyaları hem stage kısmına alır hem de commitler.
git add . =Bütün kaydedilmemiş (save olmamış) dosyaları stage kısmına alır. Eğer birden çok dosyada değişiklik varsa git add . diyerek tüm değişiklikleri ekleyebiliriz.
git ignore= Hiçbir zaman repoya göndermeyeceğimiz dosyalar ve kodlar için kullanılır. Bazı dosyaları git add yaparak indexe veya git commit diyerek local repoya veya başka yere atarak birilerinin görmesini istemiyorsak eğer çalıştığımız klasör içerisine giderek .gitignore dosyası oluşturmamız gerekir. gitignore program_dili template olarak tarayıcımızda aratırsak belirtilen program diline göre hangi dosyaların ignore dosyasına atılacağını bulabiliriz.
head= Güncel olarak hem commit’ te hem de branch de nerede olduğumuzu gösterir.
Not: git log dediğimizde sayfada çok veri olduğunda yön tuşlarıyla hareket etmemiz gerekebilir ama q tuşuna basıldığında bu kısımdan çıkılmaktadır.
Herhangi bir sorunuz olursa geri dönüş yapmaktan çekinmeyin sonraki yazımda görüşmek üzere :)