• ANASAYFA
  • YAZILIM
  • TEKNOLOJİ
  • İLETİŞİM
Sonuç Yok
Tüm Sonucu Görüntüle
OALTUNORGU
Sonuç Yok
Tüm Sonucu Görüntüle

Git Nedir? Komutları Ve Kullanımı Nasıldır?

Git Temellerine Giriş

OALTUNORGU Tarafından OALTUNORGU
3 Temmuz 2022
YAZILIM
0
Git Nedir? Komutları Ve Kullanımı Nasıldır?

Git Nedir?

Git en yaygın olarak kullanılan versiyon kontrol sistemidir. Peki versiyon kontrol sistemi nedir? Versiyon kontrol sistemi bir doküman (yazılım projesi, dosya vb.) üzerinde yaptığımız değişiklikleri adım adım kaydeden ve isterseniz bunu internet üzerinde repository’de saklamamızı ve yönetmemizi sağlayan bir sistemdir. Bir örnek vermek gerekirse bir oyun oynadığımızı ve görevler yaparak ilerlediğimizi düşünelim. Herhangi bir noktada öldüğümüzde oyuna en baştan başlamak can sıkıcı olabilir. İşte bu noktada oyunun belirli noktalarında kayıt alan (checkpoint) ve öldüğümüz zaman o noktalardan başlamamızı sağlayan sisteme versiyon kontrol sistemi diyebiliriz. Dosyaların kayıt altına alınmış herhangi bir andaki hallerine “versiyon” diyebiliriz. Versiyon kontrolü ise bir ya da daha fazla dosya üzerinde yapılan değişikliklerin (düzenleme,silme,ekleme vb.) kayıt ve takip edilmesini, gerekli durumlarda belirli bir  versiyonuna  geri dönülmesini sağlayan bir sistemdir.

 

Git, BitKeeper, SVN, Mercurial versiyon kontrol sistemlerine örnek olarak gösterilir. Git’i diğer versiyon kontrol sistemlerinden ayıran özellikler nelerdir? Git, dosyalarda yaptığınız değişiklikleri izler, böylece yapılanların bir kaydını tutar ve ihtiyaç duymanız halinde belirli sürümlere geri dönebilmenizi sağlar. Git, birden çok kişinin yaptığı değişikliklerin tek bir kaynakta birleştirilmesine izin vererek işbirliğini kolaylaştırır. Sadece sizin göreceğiniz bir kod yazın ya da bir ekibin parçası olarak çalışın. Git sizin için faydalı olacaktır. Tamamen açık kaynaklı olarak, ücretsiz bir şekilde kullanılabilmektedir. Kısacası Git, yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir sürüm kontrol ve kaynak kod yönetim sistemidir. Git bir versiyon kontrol sistemiyken Github projelerimizin saklandığı bir portaldır.

1. Git Bash Terminal Komutları

  • LS: Dosya ve Klasör listeler.
  • LS -la: Gizli klasörleri, dosyaları ve detayları gösterir.
  • PWD: Güncel olarak bulunduğum klasörü gösterir.
  • CD: Klasör değiştirme cd [folderName] şeklindedir.
    cd .. : bir üst dizine çıkmak için kullanılır.
  • CLEAR: Terminal temizler.
  • MKDIR: Klasör oluştur.
  • TOUCH: Dosya oluştur.
  • RM: Dosya silmek için kullanılır.
  • RM -RF: Klasör silmek için kullanılır.

2. Git Temelleri

Versiyon Kontrolü

  • git –version

Yapılandırma Listesi

  • git config –list

Kullanıcı Bilgileri Ekleme

  • git config –global user.name “Kullanıcı Adı”
  • git config –global user.email “Eposta Adresi”

GIT Sistemini Aktif Etme

  • git init

GITIGNORE

Çalışma dizininizdeki .env, node_modules gibi git sistemi tarafından takip edilmesi doğru olmayan dosya ve dizinleri ana dizinde oluşturacağınız .gitignore dosyası ile git’e gönderilmesini engelleyebilirsiniz.

Durum Kontrolü

Çalışma dizininde yapılan değişiklikleri görmek için kullanılır.

  • git status

Staging Area

Git tarafından dosyalarınızın commit edilebilir olmasını istiyorsanız staging area içerisine aktarmalısınız.

  • git add fileName

Eğer tüm dosyaları eklemek isterseniz “.” kullanabilirsiniz.

  • git add .

Staging Area içerisinde olan dosyanızı çıkartmak için aşağıdaki komutu kullanabilirsiniz. Commit işleminize dahil olmaz.

  • git rm –cached fileName

Commit İşlemi

Staging Area içerisinden Local Repository içerisine dosyaları aktarmak için commit işlemi gerçekleştirmeliyiz.

  • git commit -m “first commit”

Yapılan commit işlemlerini listelemek için aşağıdaki komut kullanılabilir.

  • git log

Eğer ağaç yapısında görmek isterseniz –graph eklemelisiniz.

  • git log –graph

3. Git Branch

Proje sürecinde farklı ekipler farklı özellikler geliştiriyor olabilir. Feature ayrımı yaparak ilerlemek istiyor olabilirsiniz. Bu işlem için branchler kullanılmaktadır.

Head güncel olarak hangi branch ve hangi committe olduğumuz gösterir. Git sistemi varsayılan olarak Master branch’i üzerinden ilerlemektedir.


Güncel Branch Bilgisi

Git sistemindeki branchleri listeler ve aktif olanı * ile işaretler.

  • git branch

Branch Oluşturma

Aşağıdaki komut Test adında bir branch oluşturur.

  • git branch Test

Branch Değiştirme

Oluşturulan branch’e geçiş yapmak için switch komutu kullanılır.

  • git switch Test

Ana branch’e geçmek için ana branch adını yazmak gerekmektedir.

  • git switch MASTER

Branch Birleştirme

Master branch ile Test branch birleştirmek için aşağıdaki komut kullanılabilir.

  • git merge Test

Fast Forwarding

Master branch üzerinde bir değişiklik yapmadan diğer branch üzerinde yapılan değişikleri master branch’e dahil etme işlemine fast forwarding denilmektedir. Özel bir komutu yok.

  • Git merge “branch adı”

Merge Conflict

Branch birleştirme işlemlerinde ya da aynı branch üzerinde farklı kişilerin yapmış olduğu değişiklikler sonrasında çakışma oluşabilir. Aynı dosyada birden fazla kişinin çalışması merge conflict’e neden olabilir. Bu sebepten conflictleri kontrol edip, yönetmeniz istenecektir

Stash

Test branch üzerinde bir geliştirme yapıyorsunuz diyelim. Ancak henüz commit etmeye hazır değil yani geliştirmeyi bitirmediniz.
Master branch’e geçip farklı bir geliştirme yapmanız gerekiyor. Master branch’deki geliştirmeniz bittikten sonra Test branch üzerinde işlem yapmaya devam etmek istiyorsunuz. İşte böyle bir durumda stash yapısını kullanabilirsiniz.

  • 1. Yöntem : Eğer yaptığınız değişikler branch değiştirince git status yazdıktan sonra görünüyorsa commitlemeden önce geri almak isterseniz git restore fileName komutunu kullanabilirsiniz. Bu durumda eski branch döndüğünüzde değişiklikleri silinmiş görürsünüz. Çünkü git restore fileName yapmadan önce herhangi bir kayıt işlemi yapılmadı. Yani bilgi kaybolur.
  • 2. Yöntem : Stash

Stash saklamak, depolamak anlamına gelir.

  • git stash push: Mevcut branchteki değişikleri saklar.
  • git stash list: Stash üzerinde bulunan güncel kayıtları listeler.
  • git stash pop: Stash’e atılan en son kaydı getirerek ilgili yerlere uygular ve stash list’ten siler.
  • git stash apply stash@{0}: birden fazla kayıt arasından istediğimizi uygulayabiliriz.
  • git stash clear: stash üzerindeki tüm kayıtları silebiliriz
  • git stash apply: stash üzerindeki ilk kaydı getirir ve kayıt stash üzerinde kalmaya devam eder.

4. Geçmişe Dönme

Commit göndermesek geri dönmek git restore ile mümkün ancak commit gönderdikten sonra ne yapabiliriz?

GIT Checkout

  • “git checkout commitId” Şeklinde kullanılır.
    Head konumunu değiştirir. Checkout ile geri döndüğümüzde en son commit silinmez. Sadece gezinmiş, önceki commite geçmiş oluyoruz. Ayrıca mevcut konumdan projeyi dallandırabilir yeni bir branch oluşturabiliriz.


GIT Reset

  • “git reset commitId” ID bilgisi verilen commite döner ve seçili commit id sonrasında gelen commitleri siler. Ancak sonradan eklenen commitlerle gelen değişikleri silmez onları bırakır.
  • git reset –hard commitId: ID bilgisi verilen commite döner sonrasında gelen commitleri ve değişikleri de siler.
  • git reset –soft commitId: ID bilgisi verilen commite döner sonrasındaki commitler staging area içerisine taşınır.

GIT Revert

  • “git revert commitId”
    GIT History içerisinde tutmak istediğiniz geri alma işlerinde kullanılır. Yani değişikler geri alınır ve git log ile bakıldığında geri alınan commitler görüntülenebilir. Yani rollback var ve history’de neyin geri alındığı tutuluyor.

GIT Diff

  • git diff: Staging Area içerisine eklenmemiş, güncel dosya içerisindeki değişikleri gösterir.
  • git diff HEAD: Son commit’e göre yapılan değişikleri gösterir.
  • git diff commitId1 commitId2: İki commit arasındaki farklılıkları gösterir.
  • git diff branchname1 branchname2: İki branch arasındaki farklılıkları gösterir.

GIT Rebase

  • “git rebase master”
    GIT History içerisini daha temiz tutmak için yani merge commitlerden kurtulmak için kullanılabilir.

5. Remote Repository (Github Vb.)

Yukarıda anlatılanlar local repository üzerinde gerçekleştirdiğimiz işlemlerdir. Takım çalışmasında remote repository ile işlem yapmamız gerekmektedir.

Başka bir projeyi kendi lokalinize indirmek için git clone komutunu kullanabilirsiniz.

  • git clone https://github.com/username/repositoryName.git

Branch bildirmek için kullanılmaktadır. Yani master branch olarak ifade ettiğimiz yapıyı main olarak adlandırıyoruz.

  • git branch -M main

Aşağıdaki komut ile local repository’deki bilgileri remote repoya aktarmak için kullanırız. Buradaki -u ifadesi origin olarak bildirilen URL’ye varsayılan olarak gönderileceğini ifade eder. Sonrasındaki commitler için git push demek yeterli olacaktır.

  • git push -u origin main

Direkt olarak local repository’i etkilemeden yani değişikleri uygulamadan remote repository’den değişikleri çekmek istersek aşağıdaki gibi fetch komutundan faydalanabiliriz. Bu sayede main branch remote repository’den gelir ve git status komutu ile mevcut durum kontrol edilebilir.

  • git fetch origin main

Aşağıdaki komut ile remote repository üzerinde bulunan branchler listelenir.

  • git branch -r

Eğer remote repository’den değişikleri hem al (fetch) hem de merge et demek istersek aşağıdaki komutu kullanabiliriz.

  • git pull origin main

Remote Repository’e lokalinizde oluşturduğunuz bir branch’i göndermek isterseniz aşağıdaki işlemleri yapmanız gerekir.

  • git switch branchName
  • git push –set-upstream origin branchName
Paylaş14Tweet9Gönder
İLAN
Önceki Gönderi

İnternetsiz Whatsapp Kullanmak İçin Yapmanız Gerekenler

Sonraki Gönderi

Hepsiburada ‘Premium’ Abonelik Sistemi Açıldı!

Bir cevap yazın Cevabı iptal et

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

TRENDLER

Hepsiburada ‘Premium’ Abonelik Sistemi Açıldı!
TEKNOLOJİ

Hepsiburada ‘Premium’ Abonelik Sistemi Açıldı!

9 ay önce
İnternetsiz Whatsapp Kullanmak İçin Yapmanız Gerekenler
TEKNOLOJİ

İnternetsiz Whatsapp Kullanmak İçin Yapmanız Gerekenler

1 sene önce
Eclipse Tema Değiştirme
YAZILIM

Eclipse Tema Değiştirme

2 sene önce
Git Nedir? Komutları Ve Kullanımı Nasıldır?
YAZILIM

Git Nedir? Komutları Ve Kullanımı Nasıldır?

9 ay önce
İLAN
Instagram LinkedIn Facebook Github

Oğulcan ALTUNÖRGÜ

Sonuç Yok
Tüm Sonucu Görüntüle
  • ANASAYFA
  • YAZILIM
  • TEKNOLOJİ
  • İLETİŞİM

Oğulcan ALTUNÖRGÜ

Tekrar Hoşgeldiniz!

Aşağıda hesabınıza giriş yapın

Unutulan Şifre?

Yeni Hesap Oluştur!

Kaydolmak için aşağıdaki formları doldurun

Tüm alanlar zorunludur. Oturum aç

Şifrenizi geri alın

Lütfen şifrenizi sıfırlamak için kullanıcı adınızı veya e-posta adresinizi girin.

Oturum aç