• Hakkımızda
  • Bize Katıl
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilişim - Teknoloji - Blog
  • 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ı | Bilişim - Teknoloji - Blog
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

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...

Azure DevOps Rest Api ile Çalışmak

Azure DevOps Rest Api ile Çalışmak

by Mercan Karacabey
Ocak 28, 2022
0

Bu yazıyı, projede kullanırken özellikle kaynak sıkıntısı yaşamış olduğum için, ekstra bir kaynak türetebilmek amacıyla yazmak istedim. Microsoft’un kendi yayınlamış...

Azure Application Insights

Azure Application Insights

by Mercan Karacabey
Aralık 18, 2021
0

Azure Application Insights, Monitoring için kullanılır. Azure monitoringin bir özelliği olan Application Insights, geliştiriciler ve DevOps uzmanları için genişletilebilir bir Uygulama Performansı...

Google Cloud Teknolojileri

Google Cloud Teknolojileri

by Mercan Karacabey
Ağustos 6, 2021
0

Her şeyden önce Google Cloud teknolojileri üzerine yazıyor olduğum bu metinde ilk cevaplamamız gereken kısım Cloud Computing, Türkçesiyle “Bulut Bilişim”...

5 Ana Başlıkta “Kişisel Verilerin Korunması Kanunu”

5 Ana Başlıkta “Kişisel Verilerin Korunması Kanunu”

by Tunahan Tekeoğlu
Mayıs 16, 2021
0

KVKK Nedir? Teknolojinin hayatımızı iyiden iyiye neredeyse ele geçirmesi ile birlikte “kişisel verileri koruma” konusu ve konusu kişiler, kurumlar ve...

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

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  • 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
Splash Screen Yapımı #Flutter

Splash Screen Yapımı #Flutter

Mayıs 25, 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
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
VGG-19 Transfer Learning ile Görüntü Sınıflandırma

VGG-19 Transfer Learning ile Görüntü Sınıflandırma

Eylül 12, 2022
SOC Sistemler Üzerine Faydalı Notlar

SOC Sistemler Üzerine Faydalı Notlar

Eylül 2, 2022
Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Ağustos 23, 2022
Makine Öğrenimi Nedir?

Makine Öğrenimi Nedir?

Ağustos 4, 2022

Reklam

Yazılım Karavanı | Bilişim – Teknoloji – Blog

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.