• Hakkımızda
  • Yazı Gönder
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilim - Teknoloji - Mühendislik
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
Yazılım Karavanı | Bilim - Teknoloji - Mühendislik
No Result
View All Result
Home Genel

Git Nedir? Nasıl Kullanılır?

Samet Karavaizoğlu by Samet Karavaizoğlu
Mayıs 5, 2021
in Genel
6 min read
0
Git Nedir? Nasıl Kullanılır?
WhatsApp'ta PaylaşTwitter'da PaylaşLinkedIn'de PaylaşTelegram'da Paylaş

Merhaba arkadaşlar,

Bu yazıda sizlere git nedir? en çok kullanılan git komutları nelerdir gibi git kavramlarından bahsetmeye çalışacağım.

Git Nedir?

Git, mevcut diğer sistemlere göre birçok avantajı olduğu için çoğu geliştiricinin tercih ettiği sürüm kontrol sistemidir. Dosya değişikliklerini daha verimli bir şekilde depolar ve dosya bütünlüğünü daha iyi sağlar. Git, Linus Torvalds tarafından 2005 yılında geliştirilen bir sürüm kontrol sistemidir (Linux’u yazan kişi). Git, geliştiricilerin kodlarının durumunu takip etmelerine yardımcı olur ve bir kod tabanı üzerinde işbirlikleri yapmaya olanak tanır.

Birçok bilgisayarda Git zaten kurulu olarak gelir. Bir terminal açın ve terminale git yazın. Eğer git komutları listesini görürseniz bilgisayarınızda git kurulu demektir. command not found: git hatası alıyorsanız, buradaki adımları takip ederek bilgisayarınıza git kurulumu yapabilirsiniz.

Git Kullanımı

Daha önce bir bilgisayar oyunu oynadıysanız veya bir bilgisayar programı kullandıysanız ve daha önce kaydedilmiş bir sürüme geri dönebileceğinizi fark ettiyseniz, doğal olarak Git’in gerekliliğini anlarsınız. Ancak git programınızdaki her bir kod satırını takip etme ihtiyacı duymak yerine, şu anda sahip olduğunuz kod ile en son kaydettiğiniz kod arasındaki değişiklikleri kaydeder. Her kod satırının en son ne zaman kaydedildiğini not eder ve bunları özel bir gizli klasörde saklar. Yani projeyi yeni bir versiyona yükseltmek veya bazı dosyalarda değişiklik yapmak istediğimizde git sadece önceki versiyon ile farklı olan kodları kaydeder.

git init proje ana dizininde bu kod satırı çalıştırılır. Bu işlem Git’in dosyalarını saklayacağı bir klasör oluşturacaktır.

git add komutu ile proje dosyalarımızın git de saklanacağını belirtiyoruz. git add –all komutu ile değişiklik gösteren tüm dosyaların eklenmesini sağlayabiliriz.

git commit -m “commit mesaj” komutu ile projedeki değişiklikleri lokalimizdeki git’ e kaydedebiliriz.

git push komutu ile projedeki değişiklikleri uzak sunucuya yükleme işlemi gerçekleştirilir. Burada dikkat edilmesi gereken değişikliklerin hangi branch’ i etkileyeceğidir. Branch konusuna gelecek olursak proje ilk oluşturulduğunda master branch adında bir branch de oluşturulur. Ardından yeni branch oluşturmak istenir ise git checkout -b “branch adı” yazılarak (örneğin git checkout -b development) yeni branch oluşturma işlemi gerçekleştirilir. Farklı bir branch’e geçiş yapmak isterseniz git checkout “branch adı” örneğin git checkout master yazarak geçiş sağlayabilirsiniz.

git pull komutu proje lokalde henüz güncel değil ise sizin veya başkalarının yaptığı değişiklikleri lokaliniz ile senkron hale getirmek için kullanılır.
Örnek kullanım: git pull origin master

GitHub’da Proje Oluşturma ve Temel git Komutlarını Kullanma

Github hesabımıza giriş yapıp new butonuna tıklıyoruz. Burada bizi yeni bir repo oluşturma sayfası karşılayacak.

Screen Shot 2021 05 05 at 15.39.20

Buradan repo adını ve public/private seçimimizi yaptıktan sonra create repostory butonuna tıklıyoruz ve github projemiz oluşturulmuş oluyor. Şimdi lokalde bir proje oluşturup bu proje ile github hesabımızdaki repoyu ilişkilendirelim.

Screen Shot 2021 05 05 at 15.47.28

Masaüstüne “git-commands” adında bir klasör oluşturdum ve bu klasör dizinine geldikten sonra git init komutuyla git dosyalarını bu dizinde oluşturdum.

Artık github’ hesabımda oluşturduğum repo ile lokalde oluşturduğum repoyu ilişkilendirebilirim. Github reposuna gittiğimizde bizi repoda henüz bir şey olmadığından böyle bir ekran karşılayacak.

Screen Shot 2021 05 05 at 15.51.15

Bu adımda burada da yazan, git remote add origin git@github.com:sametkaravaizoglu/git-commands-tutorial.git komutuyla repoyu lokaldeki klasörümüzle eşleştiriyoruz.

Hadi klasöre birkaç ekleme yapalım ve bunu repoya yükleyelim. Örnek olması açısından ben bir tane deneme.txt adında txt dosyası oluşturuyorum ve içerisine “bu bir denemedir” yazıyorum. Ardından terminale git status yazarak reponun durumunu kontrol edeceğim.

Screen Shot 2021 05 05 at 15.55.39

deneme.txt Untracked files: adı altında listeleniyor. Peki nedir bu Untracked files?

projede yaptığımız değişikliklerin her zaman tamamını repoya yüklemek istemeyebiliriz. Bu durumda bu dosyalar untracked files olarak görünür. Fakat ben bu klasördeki tüm dosyaları repoya yüklemek istiyorum o halde ne yapacağım dediğinizi duyar gibiyim. git add –all komutu ile tüm dosyaların commit edileceğini belirtiyoruz. Ve artık  git status dedikten sonra bu dosyanın artık untracked olmadığını görüyoruz. Şimdi klasördeki değişikliklerimizi uzak sunucuya (github’a) göndermek için öncelikle bunları git ‘e kaydetmeliyiz.

Screen Shot 2021 05 05 at 15.58.35

git commit -m “deneme.txt dosyasını oluşturup projeye dahil ettik” komutu ile projemizdeki değişiklikleri kaydediyoruz. -m parametresinden sonra commit mesajı yer alır. Genellikle burada yaptığınız değişiklikler hakkında bilgi verici bir yazı yazmanız beklenir. Terminalde aşağıdaki gibi bir sonuç aldıysanız projenizde ilk commit ‘inizi oluşturdunuz.

Screen Shot 2021 05 05 at 16.03.45

Her şey tamam ama projeye eklediğim bu txt dosyası github’ da oluşturduğum repoda yok. Peki bu dosya nerede? Korkuya kapılmayın. Dosyayı henüz github’ a yüklemedik. Github’ a yükleme işlemi için git push komutunu kullancağız.

git push origin master komutu ile master branch’ e yaptığımız commit değişikliklerini yüklüyoruz. Artık github repomuzda yaptığımız değişikliklerin güncellenmesini bekliyoruz.

Screen Shot 2021 05 05 at 16.08.04 e1620226072601

Evet, değişikliklerimiz başarıyla github’ a yüklendi. Projede yapılacak tüm değişikliklerden sonra sırasıyla 

git add –all ile tüm değişikliklerimizi commit’ e eklemek

git commit -m “değişiklik detayı” ile değişiklikleri kaydetmek

git push origin master komutu ile bu değişiklikleri github’a yükleyerek devam edebilirsiniz.

Mevcut bir projede dönüm noktası olarak kullanmak veya projeyi parçalara ayırmak isterseniz yeni bir proje oluşturmanıza gerek yok. Bu durumda yeni bir branch oluşturabilirsiniz. Peki branch oluşturmak bize ne gibi fayda sağlar? Örneğin bir projede çalışıyorsunuz ve versiyon 1.0.0 dan 1.0.1 e geçiş yapacaksınız. Versiyon değişikliğini ana(master) branch de yaparsanız 1.0.0 branch e dönmeniz mümkün olmayacaktır. Çünkü üzerine yazarak devam etmiş olacaksınız. Projenin 1.0.0 versiyonundayken git checkout -b release/1.0.0 yaparsanız ve ardından tekrar master branch e geçiş yapıp versiyon 1.0.1 için gerekli değişiklikleri yapıp yeniden git checkout -b release/1.0.1 komutuyla branch oluşturursanız artık geriye baktığınızda versiyon 1.0.0 ile 1.0.1 arasındaki farkları kolaylıkla görebileceksiniz. Hangi branch de olduğunuzu öğrenmek için terminale git status yazabilirsiniz.

Git komutları yazımdan şimdilik bu kadar.

İyi çalışmalar, esen kalın.

samet karavaizoglu
Tags: GitGithub
SendTweet6Share2Share
Önceki Gönderi

Genç Bi’Fest Başlıyor!

Sonraki Gönderi

Kurumsal Kaynak Planlama (ERP) Nedir?

İlgili Yazılar

Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

by Yazılım Karavanı
Şubat 10, 2025
0

Dijital dünyada her gün milyonlarca veri üretilirken, bireyler ve markalar hakkında yapılan yorumlar, haberler ve paylaşımlar büyük bir bilgi havuzu...

Sentry’den Raygun’a: Hata ve Performans İzleme Araçlarını Karşılaştırma

Sentry’den Raygun’a: Hata ve Performans İzleme Araçlarını Karşılaştırma

by Ali Murat Çevik
Mayıs 26, 2024
0

Herkese selamlar, bilindiği üzere projelerin hem geliştirme aşamasında hem de üretime alındıktan sonraki süreçte performans ve hata takiplerinin yapılması çok...

OKR (Objectives and Key Results) Nedir ve Nasıl Uygulanır?

OKR (Objectives and Key Results) Nedir ve Nasıl Uygulanır?

by Yazılım Karavanı
Mayıs 24, 2024
0

OKR Nedir? OKR, Objectives and Key Results (Hedefler ve Anahtar Sonuçlar) kelimelerinin kısaltmasıdır. Bu yönetim metodolojisi, şirketlerin ve bireylerin belirledikleri...

Telefonlarımız Bizi Dinliyor Peki Ama Nasıl?

Telefonlarımız Bizi Dinliyor Peki Ama Nasıl?

by Tunahan Tekeoğlu
Mayıs 5, 2023
0

IDFA NEDİR ? IDFA, Reklamverenler için "tanımlayıcı" olarak çevrilebilecek bir mobil reklam kimliğidir ve Apple cihazlarını kullanan kullanıcılara verilir. Bu...

2022’nin En Popüler Programlama Dilleri ve Python

2022’nin En Popüler Programlama Dilleri ve Python

by Ali Murat Çevik
Haziran 17, 2022
0

Herkese selamlar, bu yazıda 2022 Haziran ayı itibariyle en popüler programlama dillerinden bahsedeceğim. Keyifli okumalar :) Programlama dilleri yapısı gereği...

Next Post
Kurumsal Kaynak Planlama (ERP) Nedir?

Kurumsal Kaynak Planlama (ERP) Nedir?

YTÜ IEEE – Yıldızlı Projeler Yarışması ’21

YTÜ IEEE - Yıldızlı Projeler Yarışması '21

  • Popüler
  • Yorumlar
  • En Yeniler
Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Temmuz 26, 2021
B Ağaçları (B Trees)

B Ağaçları (B Trees)

Ağustos 24, 2020
Gini Index Kullanılarak Karar Ağacının (Decision Tree)  Oluşturulması

Gini Index Kullanılarak Karar Ağacının (Decision Tree) Oluşturulması

Ağustos 20, 2020
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

Mayıs 18, 2018
2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

6
Magento 2 Detaylı Kurulum & Hatalar

Magento 2 Detaylı Kurulum & Hatalar

5
Flutter’da TFLite Kullanımı

Flutter’da TFLite Kullanımı

4
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

2
Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Yeni Siber Güvenlik Kanunu: Yazılım Geliştiriciler İçin Neler Değişti?

Mart 19, 2025
Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Google Play Health Connect Politika Güncellemesi: Güncellenen Veri Koruma Kuralları

Mart 10, 2025
Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Yapay Zeka Destekli Dijital Medya Takip Aracı: sentitracer.com

Şubat 10, 2025
OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

OneSignal Kullanarak Güvenli Push Notifications Oluşturma Rehberi

Aralık 14, 2024

Reklam

Yazılım Karavanı | Bilim – Teknoloji – Mühendislik

Bilgi Teknolojileri alanına meraklı herkesin buluşma noktası!

No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar

© 2020 Yazılım Karavanı Kaynak gösterilmesini rica ederiz.