← Back to list

Git&GitHub: Yeni Başlayanlar İçin Temel Rehber

HuseyinErdogan · 2026-07-06 08:19 · 0 claps · 3.0 min read
#git #github #software-development #programming #türkçe
Open on Medium ↗
Wiki topics: 💻 · Programming 🔓 · Open Source

Git&GitHub

Giriş

Git konusunda öğrendiklerimi sizlere anlatayım. Git & GitHub yazılım dünyasının olmazsa olmazıdır ekip çalışmalarının vazgeçilmezidir. Git sayesinde çalıştığınız projenin bilgilerini tutmuş olursunuz evet bunu git sizin için yapar siz sadece ona komutları vermeniz yeterlidir.Gelin bu komutlardan ve Git’in yaptıklarından bahsedelim. Bilgisayarınızdaki git ile github hesabınızı eşleştirdiğinizi varsayıyorum yapamadıysanız https://github.com/B3rou/B3rou-Git-Rehberi bu rehber size de çok yardımcı olacaktır.

Git size projenizde çalışma yaparken sıfırdan yeni proje oluşturmadan o projeniz için deneme veya geliştirme ortamı sunar bunu branch mantığı ile yapar

Branch Nedir?

Branch dal demektir yazılım dünyasında ilk branch standart olarak Main’dir. proje orda hayat bulur diyebiliriz. Diyelim ki projenizi geliştirmek istiyorsunuz ama eklemek istediğiniz özelliğin projeyi bozmasından mı korkuyorsunuz , işte burada branch yardımınıza koşuyor yeni bir branch oluşturup o branch te istediğiniz gibi çalışabilirsiniz. İsterseniz çok büyük hatalar yapın bu main branchinizi etkilemiyecektir. peki nasıl yeni branch oluşturabiliriz ?

“git switch -c branch_adı” ile kendinize yeni bir dal oluşturabilirsiniz bu dalda istediğiniz çalışmaları yapabilirsiniz, projenize yeni özellikler ekleyebilirsiniz.

Add & Commit

Diyelim ki özelliği başarıyla eklediniz artık bunu main e aktarmak lazım ne de olsa projeniz orda hayat buluyor. İşte burada özellikleri ekledikten sonra git add . komutu ile branchinizdeki dosyaları verileri vb. Git’e söylüyorsunuz bak ben bunları yaptım diye. Söylüyorsunuz dediysem git bunu kendi yapıyor siz sadece git add . dediğinizde şunlar olur;

git add . komutu, sadece çalışma alanınızdaki (working directory) değişen dosyaları tespit edip staging area’ya taşır. Bu işlem, bulunduğunuz branch’i ya da main ile farkı kontrol etmez — sadece ‘şu an hangi dosyalar değişmiş’ diye bakar.

ve bunu commit için hazırlar. commit dedik peki nedir bu commit? Eğer siz git add . dedikten sonra git commit demezseniz , git o değişikliğinizi işlemez yani onu git kendi reposuna kaydetmez.Bunu yaparken önemli bir noktada şu:

Siz değişlik yaptınızda ilerde geri dönüp baktığınızda tek tek kodu okuyup anlamak yerine commit yaparken birde küçük bir mesaj bırakmanız önerilir. Bunu git commit -m “Commit mesajı” ile yapabilirsiniz. Evet projemizle ilgili birkaç değişiklik yaptık.Güzel peki yeni branch’te yaptığımız değişikliği nasıl maine aktarabiliriz?

Merge

Bunu git merge komutu ile yapıyoruz. Bunun için hâlâ yeni branch'deyseniz git switch main komutu ile main'e geçebilirsiniz ve main'deyken git merge yeniBranch diyerek yeni branch'teki değişiklikleri main'e aktarabilirsiniz.

Ancak bazen iki branch’te aynı dosyanın aynı satırı farklı şekilde değiştirilmiş olabilir. Bu durumda Git otomatik karar veremez ve size şöyle bir mesaj verir:

CONFLICT (content): Merge conflict in dosya.txt

Bu bir hata değil, Git’in “sen karar ver” demesidir. Dosyayı açtığınızda şuna benzer işaretler görürsünüz:

<<<<<<< HEAD
main'deki değişiklik
=======
diğer branch'teki değişiklik
>>>>>>> yeniBranch

<<<<<<<, =======, >>>>>>> işaretlerini silip dosyayı nasıl olmasını istiyorsanız öyle düzenlersiniz, kaydedersiniz. Sonra git add . ve git commit ile merge'yi tamamlarsınız. Kulağa karmaşık gelse de aslında tek yaptığınız şey bir metin dosyasını düzenlemek.

Push Pull Request

Peki tamam biz kendi repomuzda değişiklikleri yaptık bunları githuba aktarmanın zamanı geldi takım arkadaşlarımız bunları görmeli değil mi işte bunu yaparken de ilk başta git clone ile projenizin uzakta yani github da kopyasını oluşturuyorsunuz. Oluşturduk güzel ardından yeni branch oluşturup yeni özellikler ekledik , bu da güzel bunu maine aktarmadan önce arkadaşlarımızın bakmasını veya CI&CD testlerinden geçmesini istiyorsunuz. Bunun için yeni branch’te iken commit adımına geçtikten sonra “git push -u origin branchAdı” bunu yaptığınızda githubda projenizi açtığınızda select branch kısmına bakınca orda yeni branch olduğunu göreceksiniz. Onu seçip baktığınızda gerçekten’de test ettiğiniz veya yeni özellik eklediğiniz projenin en son halini göreceksiniz. Üstte bir buton göreceksiniz bu (PR) pull request’tir eğer sizin kodunu doğrulaması gereken birisi varsa buna tıklayıp onun onayını beklemelisiniz , eğer yoksa buna tıkladıktan sonra merge et butonuna tıklayarak branchinizin main dalına aktarıldığını yani değişiklerin mainde gerçekleştiğini görebilirsiniz. Artık yenibranch ile işiniz bitti github bunu silmenizi önericektir isterseniz silebilirsiniz.

Yazarken kendime şunu sordum:

Yerelde merge ile main’i güncellersek, bu GitHub’daki main’i de günceller mi?

Cevap: Hayır. Yerel git merge, sadece kendi bilgisayarınızdaki main'i günceller. GitHub'daki main'i güncellemek için ayrıca push etmeniz gerekir. GitHub'daki 'Merge pull request' butonu ise tamamen farklı bir işlem — GitHub'ın kendi sunucusunda gerçekleşir, sizin yerel merge'inizden bağımsızdır. Genelde ikisinden birini seçersiniz: ya yerelde merge edip push edersiniz, ya da hiç yerelde merge etmeden GitHub'da PR üzerinden merge edersiniz.

git pull ve Takım Çalışması

Tamam güzel o kadar çalışma yaptık peki sadece biz mi çalışma yapıyoruz? hayır takım arkadaşlarımız da yapıyor. Peki onlar bir değişiklik yaptığında biz bunu nasıl öğrenebiliriz. İşte bu da “git pull” sayesinde bir arkadaşımız git push yapıp projeye bir özellik eklemişse , bizde o projeye özellik ekleyeceksek bunu projenin güncel halinde yapmalıyız. Yoksa eski bir versiyon üzerine çalışmış olursunuz, bu da ileride conflict çıkmasına yol açabilir. işte bu yüzden git pull ile projenin son halini repomuza aktarmalıyız.

Kapanış

Şu anlık aklıma gelenleri dilim döndüğünce anlattım tabi ki de eksik anlattığım yerler var ben yeni bilgiler öğrendikçe , aklıma geldikçe hepsini buraya yazmayı planlıyorum benim gözden kaçırdığım hatalı olduğum yerleri fark ettiyseniz sizden ricam bu bilgileri hem benden hem de diğer okuyucularımızdan esirgemeyiniz.


메타데이터
post_id
5d9aab2ba89a
slug
git-github-yeni-başlayanlar-i̇çin-temel-rehber-5d9aab2ba89a
url
https://medium.com/@huseyinerdogan655/git-github-yeni-ba%C5%9Flayanlar-i%CC%87%C3%A7in-temel-rehber-5d9aab2ba89a
canonical_url
https://medium.com/@huseyinerdogan655/git-github-yeni-ba%C5%9Flayanlar-i%CC%87%C3%A7in-temel-rehber-5d9aab2ba89a
author_url
https://medium.com/@huseyinerdogan655
status
ok
fetched_at
2026-07-07 00:45:30