
CSS – Giriş
Mart 2, 2022
C++ Programlama – Giriş
Temmuz 30, 2022GIT - Giriş
GIT bir VCS(Version Control System)'dir. GIT yazılım geliştirmede sürüm kontrol ve kaynak kod yönetim sistemi olarak kullanılır. GIT' e alternatif farklı özelliklerde başka versiyon kontrol sistemleri de vardır. Bunlardan bazıları; Subversion ve Perforce' dir. GIT kullanım açısından diğerlerine göre daha avantajlı ve kolaydır. GIT dizininde versiyonlar tüm proje dosyalarının görünümünü baz alır ve değişiklik yapılmayan dosyaları tekrar dizine eklemez. Değişiklik yapılmayan dosyalara sadece referans bağlantı verir. Diğer VCS sistemlerinde versiyonlar sadece değişiklik yapılan veriler listesi şeklinde saklanır.
GIT ile verileri saklama oldukça güvenlidir. GIT olmadan dosyaların içeriğinin değiştirilmesi mümkün değildir. GIT SHA1 özelliğini kullanır. GIT ile veri kaybı yapma ihtimalide çok düşüktür. Testlerde ve denemelerde sorun yaşamamak için verileri düzenli bir şekilde yedek almak yani anlık olarak başka bir dizine aktarmamız daha sağlıklı olacaktır.
GIT İndirme ve Yükleme İşlemi:
Windows için exe dosyası: https://git-scm.com/download/win
Linux' a yükleme işlemi (Ubuntu yada debian için) : $ sudo apt install git-all
Linux' a yükleme işlemi (RHEL yada CENTOS için) : $ sudo dnf install git-all
MacOS' a yükleme işlemi : Kontrol amaçlı olarak git --version yazdıktan sonra sistemde varsa sadece version bilgisini getirir. Eğer yoksa yükleme adımları gelir ve bu adımlara bakarak yüklemeyi gerçekleştirebilirsiniz. Eğer MacOS için yükleme adımları gelmezse yükleme bağlantısı ile GIT kurulumunu tamamlayın.
MacOS yükleme bağlantısı: https://sourceforge.net/projects/git-osx-installer/files/git-2.21.0-intel-universal-mavericks.dmg/download?use_mirror=autoselect
Git öğrenmeye başlarken temel olarak bilinmesi gereken 3 durum vardır:
MODİFİED - STAGED - COMMITTED
- Modified üzerinde geliştirme (Değiştirme işlemi) yaptığımız bir dosyayı ifade eder. Bu dosya henüz commit edilmemiştir. (Modified -> değiştirilmiş)
- Staged ise Modified edilmiş bir dosyayı yani geliştirme yapılmış bir dosyayı Commit (işleme) yapılacak şekilde işaretlediğimizi ifade eder. (Staged -> hazırlamak, sahnelemek)
- Committed ise Modified ile geliştirme yaptığımız bir dosyayı Staged ederek işaretledikten sonra en son aşama yerel olarak kaydını tuttuğumuz GIT directory (repostory)' e yani git dizininde saklamamızı sağlar. (Commit -> işlemek)
Bu işlemlerin yapıldığı 3 alanı bir projeden esinlenerek detaylı olarak ifade etmek istersek:
Ana Çalışma Dizimiz -> Örneğin; E-ticaret alanında geliştirme yaptığımız bir Web sitenin ana dizini olsun. Burada Modified ettiğimiz dosyalarımız var.
Stage alanı -> Burada Modified ettiğimiz dosyaları stage işlemi ile işaretlediğimiz ama henüz commit etmediğimiz dosyalarımız var.
.git directory (repository) -> Burada da stage edilen dosyaları commit ederek GIT dizinine ekleme işlemini gerçekleştiriyoruz. Projenin geliştirme yaptığımız bir versiyonunu da commit ederek git dizinine eklemiş olduk. Versiyonlar arasında geçiş yaparak değişiklikleri kontrol edebilir yada eski versiyonlara dönebiliriz.
GIT Komut İstemcisi Seçimi:
Bu işleme henüz yolun başında olduğumuz için Windows'ta CMD' yi yada PowerShell'i kullanarak başlıyoruz. Eğer MacOS kullanıyorsanız Terminal ile komutları çalıştırabilirsiniz. Yada Linux kullanıyorsanız Terminal komutları ile başlayabilirsiniz. Daha sonra kolaylık olması açısından GUI (grafiksel arayüze)' ye de geçebiliriz fakat tüm GIT komutlarını GUI ile çalıştırabileceğimizin garantisi yok. O yüzden komut satırı kullanmak daha iyi olabilir.
GIT komutlarını kullanmadan önce CMD temel komutları ile işlemler yapmak size öğrenme aşamasında hız kazandırır. Aşağıdaki bağlantılar ile temel komutlara erişebilirsiniz.
Windows için CMD komutlarına buradan erişebilirsiniz : https://ss64.com/nt/
Windows için PowerShell komutlarına buradan erişebilirsiniz : https://ss64.com/ps/
MacOS için Terminal komutlarına buradan erişebilirsiniz: https://ss64.com/osx/
Linux için Terminal komutlarına buradan erişebilirsiniz : https://ss64.com/nt/
Git Konfigürasyon Ayarları:
Git ayarlarlarını özelleştirmek için "git config" komutunu kullanırız. Git ayarları 3 farklı yerde saklanır ve bu saklanan alanlar hiyerarşik bir yapıya sahiptir.
- git config --system -> Bulunduğu dosya /etc/gitconfig -> --system komutu ile sistemdeki tüm kullanıcıları kapsayan ayarları yapmak için kullanılır. (Yönetici yada süper kullanıcı olarak kontrol edebilirsiniz.) (Okuma ve yazma işlemlerini yapabilirsiniz.)
- git config --global -> Bulunduğu dosya ~/.gitconfig yada ~/.config/git/config -> --global komutu ile kendimize ait kullanıcı hesabı için yapılan değişiklikleri kapsar. Yapılan işlemler sistemde bulunan tüm dizinleri(repositroy' leri) kapsar. (Okuma ve yazma işlemlerini yapabiliriz.)
- git config --local -> Bulunduğu dosya .git/config (<--Kullandığımız herhangi bir repostiyory içindeki config dosyası) -> Kullandığımız herhangi bir repository içindeyken .config dosyasının düzenlemek için --local komutunu kullanırız. Bu seçenek default olarak gelen seçenektir. Repository içindeyken bu komutu çalıştırabiliriz. (Okuma ve yazma işlemlerini yapabiliriz.)
Burada unutulmaması gereken önemli şey ise alttan üste doğru yaptığımız ayarlar bir üstteki değeri geçersiz kılar. Yani git config --local komutu ile yaptığımız değişikliler git config --system komutu ile yaptığımız değişiklikleri geçersiz kılar.
Eğer Git ayarlarımızın ve diğer ayarların bulunduğu dosya konumlarını görmek istersek aşağıdaki komutu kullanabiliriz.
- # git config --list --show-origin
Bu komut ile değiştirmek istediğimiz ayar dosyalarının mevcut konumunu bulmak işimizi oldukça kolaylaştıracaktır.
Git Konfigürasyon Ayarları için Komutlar:
NOT: GIT sistemimizde her zaman --global komutu ile tanımlanan bilgileri baz alır. Bu yüzden kullanıcı bilgileri yada diğer bilgileri girerken --global komutu ile giriyoruz. (Bu şekilde her zaman aynı bilgiler etkin olur. Bir projeye özel kullanıcı yada diğer bilgilerini girmek istersek projenin içindeyken --global komutunu çalıştırarak bilgileri girmemiz yeterlidir. Herhangi bir GIT GUI' si ile çalışıyorsak yüksek ihtimalle konfigürasyon bilgilerini ilk GUI açılışında config dosyasına manuel olarak yada GUI arayüzünden otomatik olarak butonlar yardımıyla girmemiz istenecektir.
Kullanıcı Bilgileri:
- # git config --global user.name "Ömer TURAK"
- # git config --global user.mail omer_turak@hotmail.com
Editör Kullanımı için:
- #git config --global core.editor KullanacağımızEditör
Editör listesi ve nasıl tanımlanması gerektiriği ile ilgili GIT sitesindeki ilgili linke bakabilirsiniz : https://git-scm.com/book/tr/v2/Ek-b%C3%B6l%C3%BCm-C%3A-Git-Commands-Setup-and-Config#_core_editor
Git ile yapığımız ayarları yada mevcut ayarları listelemek için --list komutunu kullanabiliriz:
- #git config --list
Birden fazla Git konfigürasyon dosyasının kullanımı durumunda hangi ayar hangi dosyadan alınıyor görmek için:
- #git config --show-origin
CMD yada Terminal ekranlarında yardım menüsü olduğu gibi Git ile ilgili yardım menüsü de mevcuttur. Yardım menüsüne ulaşmak için:
- #git help ---> tam liste yardım menüsü
- #git help add --> konuya göre yardım aratma işlemi
Detaylı yardım için bu siteyi kullanabilirsiniz: https://freenode.net/view/Main_Page
Bu makaleleri okuduktan sonra ilerleyen tarihlerde yayınlanan yazıları takip ederek uygulamalı olarak Git bir projede nasıl kullanılır öğrenebilirsiniz. Sevgi ve saygılarımla. :)
Bu yazıyı hazırlarken hem üniversite, kurs ve çalışma yıllarında edindiğim tecrübeler hemde aşağıdaki kaynaklar kullanılmıştır: