Basit Git Kullanımı

Merhabalar, buraya geldiysen, git öğrenmek istiyorsun demektir. Hoş geldin, ve öğrenmeye hazır ol.

İlk başta, küçük bir not bırakayım: kimse git'i tam olarak bilmez. Basit konseptleri öğrendikten sonra, gerisi gerektiğinde aratıp bulabilirsin.

Kurulum

git'i buradan bilgisayarınıza indirebilirsin. Burayı fazla anlatmaya gerek yok, çünkü ileri ileri kur mantığı ile çalışan bir kurulumu mevcut.

Başlangıç

Kurduktan sonra, masaüstüne veya benzeri bir yere boş bir klasör aç, ve terminalde o klasörü bul. (Windows kullanıcıları burada shift+sağ tık yaparak konsolu klasörde açabilir)

Konsolu o klasörde açtığına emin olduğunda, git init yazarak o klasörü bir git reposuna dönüştürebilirsin.

REPO NEDIR

Repo (İngilizce repository kısaltması), git anlamında "kod deposu" denilebilir. Kodların saklandığı yere denir.

Hiç bir şey yapmadan önce, git'in senden isteyeceği bir kaç bilgiyi doldurman gerekmektedir, aşağıdaki gibi yapabilirsin:

git config --global user.name "İsmin"
git config --global user.email "emailin@issizler.club"

İlk Dosyan

Şimdi, yeni bir dosya aç. İsmi fazla fark etmez, içine bir şeyler yaz, ve kaydet.

Şimdi, bu dosyayı ekledik, fakat git'in bu dosyadan haberi yok. Bu dosyayı repomuza ekleyebilmek için, aşağıdaki komudu kullanmamız gerekmektedir:

git add dosya.txt

(tabiki dosya.txt'yi kendi dosyanın adı ile değiştirmeyi unutma)

NOT

Yeni bütün dosyaları aynı anda ekleyebilmek için git add -A kullanabilirsin

Şimdi bu dosyamızı eklemiş bulunmaktayız. git status yazarak dosyaların durumunu kontrol edebilirsin.

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   eklenmis-dosya

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    eklenmemis-dosya

Gördüğünüz üzere, üstteki örnekte bir eklenmiş dosya, bir de eklenmemiş dosya var.

İlk Commitin

Dosyamızı ekledik, şimdi örnek bir commit atalım, ne dersin?

COMMIT NEDIR

Commit, git anlamında, bir değişiklik denilebilir.

Bir hata düzelttiniz mesela, hemen ardından dosyaları ekleyip bir commit atabilirsiniz.
Bir özelliğin bir parçasını yaptınız mesela, hemen ardından bir commit daha.

Commitlerde birden fazla dosya bulunabilir. Aynı değişikliğin her dosyasını farklı commitlerde atmak iyi bir şey değildir.

Bir commit atmak için, git commit komudu kullanılır. O komudu çalıştırınca, karşına, bir yazı editörü çıkacaktır. Aşağıda, nasıl doldurman gerektiği hakkında bir örnek verilmiştir

Buraya, değişikliği anlatan kısa bir mesaj girmelisiniz

İsterseniz buraya daha uzun, daha detaylı değişiklikleri anlatan bir mesaj
girebilirsiniz. Genelde 80 karakterden sonra yeni satıra geçilir, ve en üstteki
kısa mesaj 72 karakterden uzun olmaz.

Bunun altındaki, # ile başlayan satırlar commit mesajının bir parçası değildir,
sadece size ne yapacağınızı önizlemektedirler

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   new file:   eklenmis-dosya
#
# Untracked files:
#   eklenmemis-dosya
#

Dosyayı kayıt edip kapattıktan sonra, commit kayıt edilecektir.

NOT

Alternatif olarak, git commit -m "Buraya, değişikliği anlatan kısa bir mesaj girmelisiniz" şeklinde de commit atılabilir, fakat bu sefer değişiklikleri detaylıca açıklayabilme şansınız kalmaz.

İstenmeyen Dosyaları Gizleme

Bazen, klasörde, git'e eklenmesi istenilmeyen dosyalar (şifrelerdir, özel bilgilerdir, ayarlardır) bulunabilir. Bunları gitten gizleyebilmek için, .gitignore adlı bir dosya kullanılır.

Yeni, rastgele bir dosya açın, ve git'e eklemeyin. Ardından, .gitignore isimli bir dosya açın, ve içine git'e eklemediğiniz dosya'nın adını yazın

DIKKAT

Windows kullanıcıları, .gitignore açarken sorun yaşayabilir, .gitignore. şeklinde yazarlarsa dosyayı açılabilmelidir.

Şimdi, eğer git status yazarsanız, o dosya hiç bir yerde görünmeyecektir.

Kodunu Başkaları ile Paylaşma

Diyelim buraya kadar git öğrendin, biraz kod yazdın. (Belki bizim dersleri takip ettin) ve kodunu git kullanarak başkaları ile paylaşmak istiyorsun, gel paylaşalım.

İlk başta, kodunu paylaşacağın bir platform seçmen lazım. En popüleri GitHub,
fakat bir sürü alternatifi de bulunmakta.

İstersen kendin bir platform bile hostlayabilirsin, fakat o başka bir ders.

Bir platform seçtin, kayıt oldun, onlarda yeni bir repo açtın. Bunların hepsi platformdan platforma değiştiğinden bu derste anlatılamayacak şeyler.

Şimdi, ilk yapman gereken, platformundaki repoyu kendi bilgisayarındaki repoya tanıtmak olacak. Bunu, git remote ile yapabilirsin:

git remote add origin "<url>"

<url> kısmına, genelde reponun adresini yazman yetebilir, çalışmaz ise platformun dökümentasyonuna bakabilirsin.

NOT

Burada, origin aslında bir isimdir. İstediğin ismi girebilirsin ve isimleri farklı olduğu sürece birden fazla repo tanıtabilirsin. Genelde tek bir repo tanıtılır, ve ismi origin olur.

Bunu yaptıktan sonra, direkt olarak aşağıdaki gibi git push kullanabilmen gerekmektedir:

git push -u origin master

NOT

-u origin master kısmını sadece ilk push'da yazman yeterlidir.

Branchlar

gitte bulunan branch sistemi ile, kodunu anında kopyalayıp, ana kodu ellemeden kopyası üzerinde çalışabilir, kopyayı beğenirsen geri ana kodun üzerine yazabilirsin.

Her git reposu, bilmeseniz bile arka planda bir branch kullanmaktadır. O branch'ın adı master'dır.

Çoğu kişi, farklı branchlar üzerinde çalışır, sadece stabil sürümleri master branch'ına koyar.

Branch açmanın bir sürü nedeni olabilir. Yeni bir özellik eklemek, bir hata düzeltmek gibi genelde çoğu şey farklı bir branch üzerinde yapılır, sadece değişiklikler bittiğinde ve test edildiğinde tek bir branch üzerinde toplanırlar.

Branchlar, birden fazla kişi kod düzenlerken gerçekten işe yararlar, bir kişi kendi branchında bir özellik eklerden, başka bir kişi kendi branchında hata düzeltebilir, en sonunda herkesin değişiklikleri ortak bir branch'da buluşabilir.

Şu anki kopya üzerine yeni bir branch açmak için, git branch <branchadı> kullanılabilir, o branch'a geçmek (ve branchlar arasında hareket edebilmek) için git checkout <branchadı> kullanılabilir.

Yeni bir branch açtınız (a), kodunuzu düzenlediniz ve o branchtaki koddan mutlu iseniz, kodu başka bir branch'a (b) şu şekilde aktarabilirsiniz:

git checkout b
git merge a

Klonlamak

Klonlamak, internetten bir repo indirmek anlamına gelir. Bir repoyu klonlamak için, git clone <url> komudu kullanılır.

Örneğin masaüstünde iken aşağıdaki komudu yazarsam, kodlama-kitabi adlı yeni bir klasör oluşur, ve içinde o repo'nun dosyaları yer alır.

git clone https://github.com/issizler-club/kodlama-kitabi

Son

Bunlar, günlük kullanılan çoğu git konseptidir. Daha fazla yok mudur, elbette vardır, ama onları gerektiği zaman aratabilirsiniz, ki gerisi bu kadar fazla kullanılmamaktadır.

Son Güncelleme: 7/13/2019, 1:46:48 AM