Git komutları (Temeller)

Yazımın son güncelleme tarihi: 19 Ekim 2023 

________________________________________

Bu yazıda GİT 'in temel komutlarına değindim. Şu yazıda bi tık daha ileri seviye konulara değindim. Ona da bakmak isteyebilirsiniz.

Git nedir?

Git versiyon kontrol sistemidir. Bir projede birden çok insanın çalışabilmesine de olanak sağlayan güzel bir uygulamadır. Ücretsizdir. Git'in bir çok komutu vardır. En basitten başlayarak kullandıkça öğrendikçe buraya not şeklinde eklemeler yapmayı düşünüyorum. Siz kaynağından bilgi edinmek isterseniz; https://git-scm.com/docs ve ileri seviye https://git-scm.com/book/en/v2 şuradan bakabilirsiniz.




Sık kullandığım git komutları

  • git config --global user.name "kullanıcı ismi" // kullanıcı ismi. örnek; emin
  • git config --global user.email "mail@emailadresiniz"  // Örnek: emnadiguzel@gmail.com
  • git init // Bu komut hangi dizinde veya klasör içindeyken verilirse o dizini veya klasörü git'e proje dizini olduğunu belirtir.
  • pwd //Şuan bilgisayarımızdaki hangi dizindeyiz?
  • cd: D //D'ye git
  • cd: proje_dosyasi //Proje dosyam
  • git status -s //Durumu kontrol et
  • git add . //Çalışmamızın tamamını git'in geçiş deposuna ekledik
  • git commit -m "Mesaj buraya yazılacak" //çalışmamızı git deposuna eklemiş olduk
  • git remote add origin githuburlsi.git //Github'a bağlan
  • git push -u origin master //Master brancine gönder
  • git clone githubdaki_reponuzun_urlsi.git //Githubtaki repoyu lokal bilgisayara kopyalar
  • git pull githubdaki_reponuzun_urlsi.git //Githubdaki değişiklikleri bilgisayarınıza getirir ve birleştirir. İpucu: Bu komutun önemi şurdan geliyor; bir ekiple ortaklaşa çalışacağımız zaman biz her zaman ilk önce githubtaki çalışmanın en güncel halini ilk önce kendi bilgisayarımıza indirmeli ve ondan sonra çalışmaya başlamalıyız. Git pull ile git fetch birbirine benzer mantıkla çalışır. git pull uzaktaki çalışmaları direk çalışma alanınıza eklerken (working directory) aynı zamanda lokal repository'e de eklemiş olur. Git fetch ise sadece lokal repositor'ye ekler. Siz oradan görür, inceler ve uygunsa alıp devam edersiniz.

Not: Git'in resmi sitesinden indirip kurduğumuz programa (komut satırı) aşağıdaki komutları yazarak sonuçlar elde ediyoruz. İlk defa git kullanacaklar için ihtiyaç duyabileceği basit ve temel adımları anlatmaya gayret ettim.

İlk adım, Proje dosyası oluşturmak

Bilgisayarda bir dosya açın. İçine kodları koyun yada gerekli dosyaları oluşturun. Sonra giti çalıştırın. Çünkü git kurulum aşamasında size dosyalar veya proje dosyası nerde gibisinden sorular soracak onları gite tanıtmanız gerekecek..

İkinci adım, Git'i indir ve kur

https://git-scm.com/ bu adresten indir ve kur.

Üçüncü adım, Kullanıcı oluşturmak

git config --global user.name "kullanıcı ismi. örnek;emin"

git config --global user.email "Örnek: emnadiguzel@gmail.com"

gibi..

Nasıl yapıyoruz? Süreç nasıl işliyor?

İlk üç adımı yaptıktan sonra ilk önce Git'i açıp aşağıdaki komutlar yardımıyla proje dosyamızın bulunduğu dizine gidiyoruz. 

Daha sonra proje dosyamızın içine gidip aşağıdaki komutlar yardımıyla Git'e bu benim proje dosyamdır diyoruz. 

Daha sonra yine aşağıdaki kodları kullanarak Git'e tüm dosyaları ekliyoruz. 

Varsa github adresinize de arada gönderebilirsiniz.

Bunun içinde github.coma gidip hesabınıza giriş yapın. (hesabınız yoksa ücretsiz oluşturun.) Yeni proje yaratın.

Aşağıdaki komutlardan yararlanarak github urlnizi Git programınıza girin ve arada sırada çalışmalarınızı githuba gönderin.


Yani burda iki aşama var. 1. bilgisayara kaydetmek 2. githuba kaydetmek.


İlla githuba yollamak zorunda değilsiniz. şart değil. mecbur değilsiniz. ben anlatmış olayım sadece. :)


Haydi iyi çalışmalar!! :)

/////////////////////////////////////////////////////////////////////////////////////

 

pwd: nerde olduğumuzu gösterir.

cd d: Bu komut D diskine gitmemizi sağlar

cd d:proje_dosyam : bu komut bizi D diskinin içindeki proje_dosyam isimli klasörün içine sokar.

git init : Bu komut hangi dizinde veya klasör içindeyken verilirse o dizini veya klasörü git'e proje dizini olduğunu belirtir.

Örnek kullanım: cd d:proje_dosyam diyerek D diski içindeki proje_dosyam içine girdik. Bu birinci adım. İkinci adım olarakta hemen ardından git init yazıp enter tuşuna basarsak git'e bu dosyanın proje dosyamız olduğunu söylemiş oluyoruz. "Ey git! bu dizin/klasör artık benim proje dosyamdır sende bunu böyle kabul et ve bil, işini gücünü ona göre yap" demiş oluyoruz basitçe.

Git init komutunu verdiğimiz zaman aslında bizim için master adında bir ana branch oluşturuluyor. Biz eğer ayarlarımızda hiçbir değişiklik yapmazsak bütün geliştirmemizi master dalı üzerinden gerçekleştiriyoruz. 

ls Komutu

Bu komut hangi dizinde iseniz o dizinin içindekileri size gösterir. ls basit bir komuttur ve bunu kullandığınızda size biraz karışık sonuç verir. Yani dizin içinde ne varsa yan yana yazar geçer. Umurunda olmaz. Ama bu konutu -l, -a, -r komutları ile daha etkin kullanabilmekteyiz. Ben açıkçası -ls yazdıktan sonra entere basmadan yanına -l komutunu da yazıyorum. Yani şöyle; -ls -l Bunu yazınca bana daha düzgün bir görüntü içinde alt alta dosyaları listeliyor.

Unutmadan; -ls komutu aslında bir linux komutudur. Windows taki karşılığı dir komutu dur diyebiliriz. Çünkü aynı işi yaparlar. Git'i yüklediğiniz zaman Git Bash 'i kullanıyoruz. Git Bash ise bize hem linux komutlarını hemde windows komutlarını (şu siyah ekrana yazdığımız komutlar varya işte onlar) kulanma imkanı veriyor. EE git Bash windows'ta çalışabiliyorsa.. O halde buna müthiş bir özellik diyebiliriz. Yuppiiyyy!! :)

ls -a : Bu komut ile oluşturduğumuz proje dosyası içindekileri veya şuan hangi dizindeyseniz görebiliyoruz. Fakat yan yana gösterir. (Biraz kötü bir görüntü oluyor)

ls -l : Bu komutu çalıştırdığınız zaman, o an hangi dosya içinde iseniz veya hangi dizinde iseniz size içeriği gösteriyor. 

ls -al : Bu komut ile oluşturduğumuz proje dosyası içindekileri veya şuan hangi dizindeyseniz görebiliyoruz. Fakat alt alta güzel bir şekilde gösteriyor. Ayrıca, okuma yazma izinleri, ve tarih/saat bilgilerini, gizli dosyaları da veriyor bize.

ls -t : Dosyanın değiştirilme tarihine göre sıralar.

ll: bu komutta dosyaları size listeleyerek gösterir.

İpucu: Mesela dosya içinde html dökümanları, css klasörü olsun. ls -a -l yazarsanız css klasörünün içini göremezsiniz. Sadece adını görebilirsiniz. Fakat şöyle yazarsanız; ls -a -l css/ css klasörünün içini size gösterecektir.

ls komutu ile ilgili şuralara bi bakın: https://salihaltuntas.com/linux-dosya-ve-dizin-listeleme/ ve https://linux-dersleri.github.io/docs/temel_linux/8.html

git add . :Bu komut ile çalışmamızın tamamını git'in geçiş deposuna ekledik. Git'e eklemedik bunu sakın karıştırmayın.

Not: Ben bunu yaptığımda bir hata aldım. Çünkü projemi git init diyerek git'e bu dosya/klasör benim çalışma alanımdır proje dosyamdır dememişim. Bunuda nerden anlıyoruz? Komut yazıdığımız yerde değişmeyen renkli satır olur. Burada master yazar yada yazmaz. Eğer master yazıyorsa proje dosyasını tanıtmış ve "master" olarak yani yetkili/ana sahip olarak işlem yapabiliyoruz demektir. Eğer projemizi git'e tanıtmadıysak "master" yazmaz. Lütfen aşağıdaki resme bakın.

 

git add dosyaadi.html : Bu komutu yazarak sadece dosyadı.html dosyasını geçiş bölgesine ekle demiş oluyoruz. Tek bir dosyayı git'in geçiş bölgesine eklemek istersek onun adını veriyoruz. git add dosyadı şeklinde.. Bir üst satırda git add . yazarak her şeyi git'in geçiş bölgesine ekle demişken burada sadece adını verdiğim dosyayı ekledik. Buna dikkat edelim! Bu önemli çünkü.

git commit -m "mesaj buraya yazılacak" : Bu komut çalıştırıldığında çalışmamızı git deposuna eklemiş olduk. Mesajımız bölümüne istediğinizi yazabilirsiniz. Ben versiyon1 yazdım.

git log : Bu komut ile depomuza eklediğimiz tüm commitleri görebiliyoruz. Yanlız burada git commid "mesajımız" komutu ile mesaj bölümüne ne yazdıysak o gösteriliyor. Birde kullanıcı adı ile gönderdiğimiz tarih/saat bilgisi bu ekranda bize gösterilmektedir. (Not: git log komutuyla ilgili daha detaylı bilgi için lütfen aşağıda yer alan "vazgeçme ve geri alma bölümü"ne bakın)

Komutların parametreleri: Git'te çalışırken bir ana komutlar var birde bu ana komutların parametreleri var. Parametre nedir derseniz; bir kodun genişletilmiş özellikleri diyebiliriz. Bir komutun hangi gelişmiş özellikleri (parametreleri) var bakayım derseniz git'teyken komutu yazıyoruz boşluk bırakıyoruz tire tire işareti yazıp help yazıyoruz. 

Örnek: git log --help

Çok sık kullanmasakta bilmekte yarar var.

git status : Bu komut şuan geçiş bölgesine eklenmeyen yada commit yapılmayan(git deposuna gönderilmeyen) çalışma dosyası/dökümanı varsa bunu bize söylüyor. Eğer her şeyi git'e göndermişsek "herşey temiz" cinsinden mesaj yazıyor. Yani status yazarak git'e şunu sormuş oluyoruz; Ey git şuan ne durumdayız? Oda bize şuan ne durumdaysak onu söylüyor. Abi her şey temiz herşeyi göndermişsin yada abi şu dosyalar geçiş bölgesine eklenmeli veya şunlar commitlenmeli diye mesaj çıkarıyor. Mantığı bu yani. git status kodu size uzun ve açılmış açıklama verir. Bunu daha kısa ve sade ve kısaltılmış iekilde görmek istersek git status -s şeklinde kullanabiliriz.

git help : Git'te çalışan hangi komutlar var ve bunlar ne işe yarıyor? Bunu bize bu komut gösteriyor.

git remote add origin GİTHUB-VS-URLSİ.git : Bu komut bilgisayarınızla github gibi siteler arasında bağlantı kurar.

Not: Daha önceden bilgisayarınızda proje dosyası oluşturmuş, git'e bu dosyayı tanıtmış ve ilk önce projenizi git'e eklemiş olmanız gerek. Daha sonra "Github.com" tarzı sitelerde hesap açıp, site içinde "repository" oluşturup burdan "size verilen url"yi alıp, bilgisayarınızdaki git komut satırında ilgili komuttan sonra url gelmesi gereken yere ekliyorsunuz ve yukarıda gösterildiği haliyle kodu çalıştırmanız gerekiyor. Bu komut sadece uzaktaki hesabınızla bağlantı kurmaya yarar dosyaları göndermez. Dosyaları göndermek için başka komut yazmamız gerekmektedir.

git push -u origin master :Bu komut bilgisayarınızda git'e eklenmiş dosyalarınızı github.com benzeri sitelerdeki repostory gibi yerlere eklemenizi sağlar. Yanlız, bunu yapmak için önce bağlantı kurmuş olmanız gerekmektedir. (git remote add origin github_urlsi.git önce bu komut gelecek sonra şu komut gelecek: git push -u origin master)

projemizin github'tan görünümü

Uyarı: SSL ve HTTPS seçeneklerinden https'i seçtiğinizden emin olun yoksa hata verir.

Uyarı: Bir şekilde uzak sunucuya(github) bağlandınız ve o bağlantıyı silmek isterseniz şu komutu çalıştırın: git remote remove origin

(Bazen yanlışlıkla uzak sunucu bağlantı adresinizi girersiniz. Üstteki komutla bağlantıyı silin ve yeniden düzgün bir şekilde bağlanın)

İpucu: Github'a ilk girip projenizi oluşturduğunuzda sizin önünüze bir karşılama ekranı çıkar. Orada neyi nasıl yapacağınızı kodlarla gösterirler. Ordan da yardım alabilirsiniz.

git rm dosyaadı : Bu komut ile içinde bulunduğumuz dizin içindeki herhangi bir dosyayı silebiliyoruz. Not: Sildikten sonra commit etmeyi unutmayın.

_____________________________________________

Git'te Branch(dallanma) Meseleleri


git'in branch sisteminin görsel anlatımı

TÜM BRANCHLERİ GÖRMEK

Lokaldeki branchleri görmek

git branch :  Branchlerin adını unuttuysanız veya tüm brancleri görmek istiyorsanız bu komutu çalıştırabilirsiniz. Bu komut size aynı zamanda o an hangi branch'te olduğunuzu da gösterir. İçinde bulunduğunuz branch'in başına yıldız koyar ve rengini farklı yapar, görünce anlarsınız zaten.

Uzak Sunucudaki branchleri görmek

git branch -r : Bu komut uzak sunucudaki(github, gitlab vb. gibi yerlerde bulunan) branchlerinizi göstermektedir.

Not: Branch konusuyla ilgili bi tık ileri seviye bilgi için 8. konuya bir göz atın.


YENİ BİR BRANCH OLUŞTURMAK

Git'te branch(dal) oluşturmak için iki yol bulunur.

1. yol:

git branch BRANCHADI :  Bu komut yeni bir branch oluşturur. (lütfen BRANCHADI yazan yere kendi branch isminizi yazın) 

Git branch komutuyla oluşturduğunuz branche hemen geçemezsiniz. Geçmek için git checkout BRANCHADI yada git switch BRANCHADI yazmanız gerekir. (git swich'i kullanmanızı öneririm)

2. yol:

git checkout -b BRANCHADI : Yeni bir branch açma komutudur. BRANCHADI yazan yere verdiğiniz branch adı ile size bir branch oluşturur ve anında yeni oluşturduğunuz branche geçer

* Eğer daha önceden aynı isimde bir branch oluşturduysanız hata verir.


BRANCHLERİ NASIL GÖRECEĞİZ

Var olan branch (dallar) leri görebilmek için şu komutu çalıştırın;

git bash yada git bash -l

ee bir şey göremedik!

Branchleri görmek istediniz ve git bash yada git bash -l komutunu çalıştırdınız ve bir şey göremedik diyorsanız yalızca bir tane branchiniz var demektir. Bir tane branchiniz varsa bomboş bişey görürsünüz. Bir kaç tane branch oluşturursanız git bash yaparsanız size var olan branchleri gösterir. Hatta hangi branchteyseniz o branchin başına yıldız işareti koyar.

* Yeni başlayan arkadaşlar ilk başlarda bu konuya çok takılabilir çünkü ben takılmıştım. Branchlerin görünmemesinin nedeni budur. 1 tane branch var başka yok. Bundan dolayı listeleme komutunun çıktısı bomboş bir şey oluyor.


BRANCHLERİ KARŞILAŞTIRMAK

git diff master başkabirbranch :  Bu komut karşılaştırma yapar. Master branci (dalı) ile baskabirbranch ismindeki branchi karşılaştırır sonucu size gösterir.


BRANCHLERİ BİRLEŞTİRMEK

git merge birleştirmekistenenbranh(yani dal) master :Bu komut size birleştirmek istediğiniz branch'i birleştirmek istediğiniz ana dala birleştirmenizi sağlar. 

İpucu: eğer ben master branch'indeysem ve elimdeki farklı isimdeki branchi master branch'e birleştirmek istiyorsam şöyle yazabilirim;

git merge birleştirmekistenenbranch(yani dal) master bunun yerine git merge birleştirmekistenenbranch(yani dal) yazmam yeterli. Çünkü zaten master dalındayım. Yazmasam olur.


BRANCHLERİ SİLMEK

Bilgisayarınızdaki (lokal) Git'te brancleri silmek

* Branchleri kontrol et (yani hangi branchtesin?) Öğrenmelisin çünkü içinde bulunduğun branchi silemiyorsun. (Kod şudur; git branch) (Hangi branchte isen o branchin isminin sol tarafında *  işareti görürsün)

* Aktif branchiistediğin branche geçir. (Örnek kod: git checkout master bu sizi master branchine geçirir. Ve size Switched to branch 'master' diye uyarı verir. Böylece master branchine geçtiğinizi anlarsınız.)

* Boşa çıkan branch'i sil (Kodu: git branch -d silinecekBranchAdı)

Bilgisayarınızdaki git'ten branchi silmek (remote repository'den silmek için)
Projenize git ile branchi eklediniz ama vazgeçtiniz ordan silmek istiyorsunuz kodu şudur;

git branch -dr origin/silinecekBranchAdı

Yada birden fazla branchi aynı anda silmek isterseniz şöyle yazabilirsiniz;

git branch -dr origin/silinecekBranchAdı silinecekBranchAdı2
*Bu komut sayesinde iki tane branchi aynı anda silmiş olursunuz.


Github'ta bulunan (uzak sunucu) branchinizi silmek
Branchi githuba yüklediniz ama vazgeçtiniz silmek istiyorsunuz onunda kodu şudur;

git push origin :silinecekBranchAdı 


Not: Branchlerle ilgili bazı ileri seviye konular vardır. O konularda yeni komutlar vardır. Onlara burada yer vermedim. İleride yer vereceğim ve buraya link olarak ekleyeceğim. Ama siz şimdilik böyle bir şeyin var olduğunu bilin yeter. Yeni kodları öğrenme konusunda acelesi olanlar için aşağıdaki linke bakmalarını öneririm;

Versiyon kontrolleri: Git ve Github (Atıl Samancıoğlu)

https://www.btkakademi.gov.tr/portal/course/versiyon-kontrolleri-git-ve-github-19439

BTK AKADEMİ - Versiyon Kontrolleri: Git ve GitHub - https://www.btkakademi.gov.tr/portal/course/versiyon-kontrolleri-git-ve-github-19439
BTK AKADEMİ - Versiyon Kontrolleri: Git ve GitHub - https://www.btkakademi.gov.tr/portal/course/versiyon-kontrolleri-git-ve-github-19439


_____________________________________

git diff : Bu komut nerde değişiklik yapıldığını söylüyor. Örneğin dosyanıza kod parçası eklediniz veya paragraf eklediniz veya yazı başlığını değiştirdiniz diyelim, bu komut yapılan değişikliğin ne olduğunun bizzat kendisini gösteriyor.

git diff komutu ile şöyle bir ekran görüyoruz.

 

_____________________________________________

Bir iş yaparken işimiz yarım kaldı. Ama onu sonra halledicez. Yarım olan çalışmayı git'e eklemek istemiyorsak bunun için aşağıdaki iki komutu çalıştırıyoruz.

git stash (işiniz yarım kalınca bunu çalıştırın)

git stash pop (yarım bıraktığınız işinizi devam ettirmek için bunu kullanın

_____________________________________________

Git blame: Belirlenen dosyadaki her bir satırın hangi commit ile eklendiği, kimin tarafından ve ne zaman eklendiği bilgilerini gösterir.

______________________________________________

Geçmişe/geleceğe dönüş

Vazgeçme ve geri alma komutları (zaman makinası ile ileri geri gitmek)

staging area'dan geri alma işlemleri (yani git'e ilk eklenenleri geri almak)

git add komutunu yazarak ara geçiş bölgesine gönderdiğimiz çalışmaları geriye alabiliyoruz. Bunun için git status komutunu çalıştırırız. Durumu görürüz. 

git restore --staged geriyeAlacağımızDosyaAdı :Bu komut ara geçiş bölgesine eklenen dosyayı geri alır. Yani geçiş bölgesinden çalışma dizinine gönderebilirsin demektir.

git restore içeriğiniGeriyeAlacağımızDosyaAdı :Geriye aldığımız dosyanın da içeriğini yani yaptığımız değişikliği iptal ettirelim dediğimizde de bu komutu kullanabiliriz.

Commit edilenleri geri alma işlemleri 

git show :Son yaptığım commiti gösteren komut.

git log :Yaptığımız tüm commitleri gösteriyor.

git log -p -2 :Bu komut son iki logu bize gösterir.

git log --since=30minutes :Bu komut bana 30 dakika önce yaptığım değişikliği göster demektir.

git log --since=5fours :Bu komut bana 5 saat önce yaptığım değişiklikleri göster demektir.

git log --since=3days :Bu komut bana 3 gün önce yaptığım değişiklikleri göster demektir.

git log --since=2weeks :Bu komut bana 2 hafta önce yaptığım değişiklikleri göster demektir.

git log --oneline :Bu komut bize yaklaşık 8-9 tane commiti gösterir. Başlarında numaralar bulunur. Bu numaraları kullanarak bu commite geri dönebiliriz.

git log komutunun nasıl farklı şekillerde kullanıldığını şu linkten öğrenebilirsiniz; https://careerkarma.com/blog/git-log/

git log --oneline 

Bu komutunu kullanarak 8-10 tane commiti gördük, ardından hangi commite dönmek istiyorsak onun başında bulunan ve kendine özgü olan İD numarası gibi bir şeye benzeyen 7 adet harf ve sayıdan oluşan şeyi alıp git checkout 2c9e01a şeklinde yazıp entera basıyoruz. (git komut satırında master yazan yer artık 2c9e01a yazacaktır.) Böylece o commite gelmiş oluyoruz. Bu yaptığımız zaman makinesinde geçmişe dönüş olarak anlaşılabilir, doğrudur. Öyleyse geçmişe gidebiliyorsak geleceğe de gidebiliriz. Commiti yüklemeden git checkout master yazarsak zamanda ileriye de gitmiş oluruz.

git tag: 

Yazılım sürümleri için etiket oluşturmak için kullanırız. 1.0.0 adında yeni bir etiket oluşturabilirsiniz.

git tag 1.0.0 1b2e1d63ff #buradaki 1b2e1d63ff commit id'sidir.


git clone GİTHUBTAKİ-REPO-URL'Sİ

Bu komut ile githubtaki çalışmamızı bilgisayarımıza klonlamış oluyoruz. Yani bir kopyasını çıkartmış oluyoruz. 

İpucu: Tabiiki clone komutunu kullanmadan önce bilgisayarınızda klonlayacağınız çalışma dosyasını git init komutu ile gite tanıtmış olmamız gerekiyor.

Sadece benim istediğim branche ait dosyaları klonlamak istersem şöyle bir komut vermem yeterlidir.

git clone GİTHUBTAKİ-REPO-URL'Sİ klonlanmasınıistediğimbranchadı



Git dizini silme

Yanlışlıkla istemediğini bir dosyada git init komutunu çalıştırdıysanız panik yapmayın. Onu silmek için git init yaptığınız dosyaya şu komutla bakıyoruz: git rev-parse --git-dir Dosya gite eklenmişse şu komutu çalıştırarak giti silebiliyoruz rm -Rf .git

*Eğer dosyalardaki gizli klasörü görebiliyorsanız .git yazan dosyayı sağ tık yapıp silerek yanlış yaptığınız gitten kurtulabilirsiniz.


Git ile ilgili bir ipucu: 

Gitbash'ı kullanırsanız hem windows komutlarını hemde linux komutlarını kullanabiliyoruz. Yani hem ls kmutunu hemde dir komutunu kullanabiliyoruz. ;) Ayrıca Gitbash'e yeni özellikler ekleyebildiğimizi bilmiyorsanız aklımızda olsun, bu yapılabiliyor..


_______________

https://cheatography.com/samcollett/cheat-sheets/git/


Bu sitede ilgili git komutunu seçiyorsunuz ve size sağ tarafta  o komutun ne işe yaradığını söylüyor. Çok ilginç :) https://gitexplorer.com/

Git'i güncellemek

İki adımda bunu yapabiliriz. Önce versiyona bakarız sonra gerekli ise güncelleriz.

Adım-1 Versiyonu kontrol etmek: 

Hali hazırda kullandığınız git'in versiyonuna bakmak için şu komutu kullanabilirsiniz;

git --version  yada git -v

Adım-2 Güncellemek

git'in içinden şu komut ile güncelleyebiliriz: git update

Not: Halihazırda kullanılandığımız git'in versiyonu 2.16.2 ve sonrası ise ve windows işletim sistemi kullanıyorsanız şu kod ile git versiyon kontrol sistemi yazılımı güncellenir;

git update-git-for-windows

Windows işletim sistemi güncellemeleri benim için kontrol etsin istiyorsanız, ilk kurulum esnasında karşınıza gelen kurulum sihirbazında "git'i her gün kontrol etsin" (Check daily for git for windows updates) seçeneğini işaretliyorsunuz. Yeni güncelleme geldiğinde windows size uyarı vermektedir.

Check daily for git for windows updates seçeneğini seçerseniz git otomatik olarak güncel olup olmadığı kontrol edilir.

Git İgnore nedir, ne işe yaramaktadır?

Proje dosyanızda insanların görmesini istemediğiniz dosyaları git eklemesin, kimseye göstermesin diye gitignore diye bir olay var.

Proje dosyanıza giti eklediniz sonra insanların görmesini istemediğiniz dosyaları gitignore dosyası içine yazıyorsuz. Bunun için proje dosyanızın içinde .gitignore isimli dosya açıyorsunuz. Gitignore isimli dosyanızın içine IDE yardımıyla veya herhangi bir text editörü ile girip gitin görmezden gelmesini istediğiniz dosyaları yazıyorsunuz. Artık git, gitignore dosyasının içine yazdığınız hiç bir dosya veya dizini içine dahil etmeyecek. İnterete github gibi yerlere istemediğiniz dosyaları göndermeyecektir.

.gitignore template nedir, ne işimize yarayacaktır?

Her programlama dili için hazır gitignore temlateleri (hazır şablonlar) bulunmaktadır. Şu adrese gidip bakabilirsiniz.; https://github.com/github/gitignore Kendi projenizdeki .gitignore dosyanızın içine bunları ekleyebilirsiniz.

Github gitignore templates screenshot
https://github.com/github/gitignore

Gitbash takılıp kaldı, çıkamıyorum sorunu ve çözümü

Gitbash'te çok fazla sayıda commitimiz olur ve ekranımız aşağıya doğru çok giderse, klavyeden yukarı aşağı ok tuşlarıya ilerleyebiliriz. Fakat buradan bir türlü çıkamadığımızı ve takılıp kaldığımızı görebiliriz. Böyle bir durumda ENTER ENTER yapıp en alta geliyorsunuz ve en alta gelince klavyeden q tuşuna basıp çıkabiliriz. ;) 


Gitbash'te son yazdımız komutları görebilmek nasıl olur?

Gitbash kullandınız ve birden fazla kod yazdınız diyelim. Bu kodları her seferinde yeniden yazmak yerine klavyeden yukarı ve aşağı ok tuşlarına basarsanız  son yazdığınız kodlar önünüze gelir.

Kaynaklar

  1. https://medium.com/@mustafazahidefe/git-notlar%C4%B1-5-branch-kavram%C4%B1-d176626711a4 
  2. https://www.youtube.com/watch?v=_YsaoAClq1U
  3. https://www.youtube.com/watch?v=XX-Kct0PfFc
  4. https://www.atlassian.com/git/tutorials/using-branches
  5. https://medium.com/@mmuratakbiyik/git-rebase-704b83673eb
  6. https://aliozgur.gitbooks.io/git101/content/ (https://www.pdfdrive2.com/t%C3%BCrk%C3%A7e-git-101-e56445841.html)
  7. https://www.youtube.com/watch?v=jHoRttvIl2E
  8. https://www.youtube.com/watch?v=SX8bHqXt8ws
  9. https://careerkarma.com/blog/git-log/
  10. https://bidb.itu.edu.tr/seyir-defteri/blog/2019/02/13/git
  11. http://www.pratikprogramci.com/urun/pratik-git/
  12. https://medium.com/@cembakca_46615/git-kullan%C4%B1m%C4%B1-f78027de1853
  13. https://docs.github.com/en/get-started
  14. https://www.youtube.com/c/GitHubGuides/videos
  15. https://ceaksan.com/tr/git-komutlari
  16. https://gelistiricininnotlari.blogspot.com/2022/02/github-ile-ilgili-baz-seyler.html
  17. https://www.javatpoint.com/git-pull 
  18. https://topkaya.medium.com/git-kullan%C4%B1m-%C3%B6zeti-c1322431a370
  19. https://lib.yemreak.com/proje-yonetimi/git
  20. Git 'le ilgili muhteşem video serisi (türkçe) ve bu videoların yer aldığı eğitimin Patika linki
  21. https://education.github.com/git-cheat-sheet-education.pdf 
  22. https://gonullu.pardus.org.tr/temel-git-kullanimi/
  23. https://gonullu.pardus.org.tr/github-gitlab-kullanimi/ 
  24. https://medium.com/kodgemisi/yeni-baslayanlar-icin-git-ee548b2abb36
  25. İyi bir commit özellikleri google arama sonuç sayfası linki
  26. [TR] Using Git Like a Hero
  27. https://mervetafralii.medium.com/android-developer-roadmap-fundamentals-1-55208b0faf76 
  28. https://gitexplorer.com/ 
  29. http://ecmelkytz.github.io/blog/2016/08/12/git-komutlari-2/ 
  30. https://medium.com/kodcular/7-ba%C5%9Fl%C4%B1kta-bilinmesi-gereken-b%C3%BCt%C3%BCn-git-komutlar%C4%B1-46c67cb9bd3c
  31. https://twitter.com/turkeydeveloper/status/1546587280399532032 (https://twitter.com/javinpaul/status/1546008190176878592
  32. https://medium.com/@gizemnkorkmaz/git-komutlar%C4%B1n%C4%B1-de%C4%9Fil-kavramlar%C4%B1n%C4%B1-%C3%B6%C4%9Frenin-54b5220d609c
  33. https://www.youtube.com/watch?v=Lr7sYCrhxE0 
  34. https://saitorhan.com/git-sistemini-guncelleme/
  35. https://www.btkakademi.gov.tr/portal/course/versiyon-kontrolleri-git-ve-github-19439
  36. https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Git-pull-vs-fetch-Whats-the-difference

Yorumlar