Git ve Github Kullanım Rehberi

Versiyon Kontrol Sistemi Olarak Git

Ulaş Müezzinoğlu
6 min readSep 13, 2022

Herkese Selamlar, bu yazımda departman fark etmeksizin bütün Yazılım Geliştirici meslektaşlarımızın hayatında büyük önem arz eden bir konu olan versiyon kontrol sistemlerinden Git yazılımını ve Remote ortamı olan Github’dan bahsedeceğim.

Git ve Github nedir ?

Git bir versiyon kontrol sistemidir. Tam bu noktada versiyon kontrol sistemi nedir sorunuzu ise; bir projede ki her bir feature, hotfix ve benzeri geliştirmeler birer versiyondur. örnek vermek gerekirse bugün projenize bir sosyal medya ile kayıt olma olanağı eklediğinizde, bu kodu commitlerseniz ve bu commit projenizin bir versiyonu olmuş olur. daha sonra istediğiniz noktada, istediğiniz versiyondan bir önce ki versiyonuza geri dönebilir ya da sadece o versiyon için bir düzeltme sağlayabilirsiniz.

işte tam bu noktada bu versiyonları oluşturma ve yönetmeye yarayan yazılımın adı Git’dir. Git kullanımı ve Temel Git komutları Başlığında daha detaylı bilgi bulabilirsiniz.

Github ise bu local olan versiyonları, bir uzak repository ye göndermenize ve ekip olarak çalışmanıza olanak sağlayan bir uzak depo olarak görebiliriz.

Git Kurulumu

Git Yazılımı için BURADA ki linkten resmi sitesine gidip

Git indirme seçenekleri

görselde gözüktüğü üzere bilgisayarınıza uygun olan işletim sistemini seçip indirme işlemini başlatabilirsiniz.

Ayrıca yan tarafta tarayıcınızdan alınan bilgilerle sizin için Uygun OS ve latest versiyonu indirmeniz için yan tarafta bir alan açacaktır.

Git Kullanımı

Tam bu noktada Git yazılımının nasıl sizin projenizde var olacağının ayarlarını yapacağız. ben her zaman ki örnek projem olan Spring Core Template adlı projemden örnek göstereceğim.

Terminal’e (Windows’da adı Console)

git init

proje dosyaları içerisinde, .git adında bir dosya oluşturur. (default gizli dosyadır) bu dosya içinde git config bilgileri bulunur.

Artık yapacağınız her geliştirme IDE tarafından algılanıp Mavi Yeşil ve Kırmızı olmak üzere renklendirilecek.

Kırmızı : Unversioned files

Mavi : Editlenmiş dosya,

Yeşil : Yeni oluşturulmuş dosya

IDE Tarafından algınan değişiklikler.

artık Git Yazılımını kurup, projemiz ile çalışır hale getirdiğimize göre artık temel komutları görebiliriz.

Temel Git Komutları

git status 

bu komut ile aşağıda da görebileceğiniz üzere henüz versiyonlanmamış dosyalarımızı görebiliriz.

Henüz Versiyonlanmamış Dosyalar

Burada ki dosyaları versiyonuma tanıtmam gerekiyor. bunun için de git add komutunu tanımalıyız.

git add <File> 

olarak kullanımında sadece o dosyayı versiyona dahil edeceğimi belirtirim.

git add . ise bütün dosyaları seçer

şimdi tekrar git status yaparak duruma bakalım.

git add sonrası dosyalar

artık dosyalar commit işlemi için hazır.

git commit -m “fixed sms service issues”

bu örnekte sms servisinde bir sorunu fixledim ve bunun bir versiyonu oluşturdum.

oluşan commit numarası af2380e

Bunun şu ana kadar sadece local bilgisayarımda bir versiyon oluşturduğunu unutmayın lütfen. Bir takım olarak çalışıyorsanız veya kodu bir sebebten Github a atmanız gerekiyorsa Mevcut Commit leri Pushlamanız gerekiyor

Github Rehberi

Öncelikle Mevcut projenizi ve versiyonlarınızı depolayabileceğiniz bir deponuz olmalıdır. Bunlardan en çok kullanılanı Github ve BitBucket platformlarıdır. Ben Github’ı tercih ediyorum.

Öncelikle github.com adresinden kendinize bir hesap oluşturmanız gerekmektedir. Bu hesabınız bir yazılımcı olarak sizinle Yazılım hayatınız boyunca sizinle beraber olacağını unutmayın.

Github profil sayfası

Projenizin Github’a Yüklenmesi

Bunun için 3 farklı opsiyonunuz var

  • Websiteden repo oluşturabilirsiniz.
  • IDE Aracılığı ile Repo oluşturabilirsiniz.
  • Github Desktop Aracı ile Repo oluşturabilirsiniz.

Github Desktop aracını fazlasıyla gereksiz gördüğüm için sadece ilk 2 adımın nasıl yapılacağını anlatacağım.

Websiteden Repo oluşturma adımları:

Repositories sekmesine tıklayıp, kenarda New Butonuna bastıktan sonra açılan ekranda gerekli bilgileri dolduruyoruz.

Create Repository Sayfası

Gizlilik Ayarlarına Dikkat etmeniz gerekmektedir. Ticari bir uygulama geliştiriyorsanız ya da başkalarının görmesini istemediğiniz kodları içeriyorsa Private’ı seçmeniz daha doğru olacaktır.

Private Repository ye istediğiniz zaman contributor ekleyebilirsiniz

Mevcut proje ve Uzak Repository İlişkilendirilmesi

Şimdi IDE mizde ki kodumuz ve Github üzerinde ki repo muzu ilişkilendirelim. bunun için

git init
git add .
git commit -m "initial commit"
git remote add origin <uzak depo git adresi> (https://github.com/UlasMuezzinoglu/testRepositoryForMedium.git)
git push -u origin master

bu kodları terminalimizde işlettiğimizde projemiz ve uzak depomuz bağlanmış olacaktır. bu noktadan sonra yazdığımız kodları commit edebilir ve akabinde push işlemini yapabiliriz.

IDE Aracılığı ile Repo oluşturabilirsiniz.

Bu işlem için Intellij IDEA IDE sini kullanacağım. öncelikle projem açıkken yukarıda ki VCS Sekmesine tıklayarak Share Project On Github Seçiyorum.

Açılan ekran tam olarak bu olacaktır.

Share project modal

Öncelikle sizden doğrulama isteyecektir. bunun için bir modal daha açılacak ve tarayıcıya yönlendirecek. Açılan ekranda onay verdikten sonra ideye dönebilirsiniz. Sizi bu modal karşılayacaktır.

ilk etapta sadece Repository Name ve Gizlilik ayarını seçmeniz yeterli olacaktır. Ardından Share butonu ile hem Github üzerinde repository oluşturmuş olacak hem de projenizi ilişkilendirmiş olacaksınız. Ayrıca terminalden oluşturduğunuzda karşınıza çıkan .git klasörünü de oluşturacaktır.

Bazı Config Dosyaları

.gitignore : bu dosya içine yazdığınız hiçbir dosya Git yazılımı tarafından algılanmayacaktır. Konfigrasyon dosyalarından olan .yml ya da .properties dosyaları, Log Dosyaları ve benzeri istemediğiniz dosyaları burada belirterek Github a düşmesini engelleyebilirsiniz.

.gitignore example

README.md : adından da anlaşılacağı üzere, Projenizi tanıttığınız dosyadır. Markdown uzantılıdır, internette kullanımına dair birçok kaynak bulabilirsiniz.

Best Practice Git Komutları

İşte belki de en ilgi gören section burası olsa gerek. Burada terminal üzerinden kullanıldığında çok işinize yaracak git komutlarını ve kullanımlarını listeleyeceğim.

git clone : bir uzak repository de ki kodları local makinamıza çekmeye yarar.

git clone <repo url>

git branch : mevcut repository üzerinde ki tüm branchleri listeler.

git branch

git checkout : bu komut ile branchler arasında gezinti yapabiliriz. Eğer -b opsiyonunu kullanırsanız yeni bir branch oluşturup ona geçer.

git checkout <branchName> || git checkout -b <BranchName>

git merge : istediğimiz dalın geçmişini geçerli dalla birleştirir.

git merge <BranchName>

git diff : Bu komut, henüz aşamalı olmayan dosya farklılıklarını gösterir.

git diff

git config : verdiğiniz değerler ile birlikte kullanılacak user adını ve e-posta adresini sırasıyla ayarlar.

git config –global user.name <name>  
git config –global user.email <email>

git init : yukarı da bahsettiğimiz gibi depo yu initalize etmeye yarar.

git init

git log : Bu komut geçerli branch’in tüm versiyon/commit geçmişini listeler.

git log

git reset : her geliştirme bazen istediğimiz gibi gitmez ve hata çıkabilir. bu komut ile eski versiyonlara dönmemizi sağlar. 2 kullanımı vardır.

git reset <commit no> || git reset --hard origin/<BranchName>

git rm : dosyayı path’den silme işlemini gerçekleştirir.

git rm <file>

git pull : Bu komut, uzak sunucudaki değişiklikleri mevut branch’e getirir ve birleştirir.

git pull origin <BranchName>

Git Yazılımı ve Github ortamını elimden geldiğince izah etmeye çalıştım. Elbette bu kadar büyük bir kavram tek bir makale ile bitecek bir şey değil. Ama bu kadar kullanımı bile azami becerinin üstü demektir.

Destek olmak için Github Adresimi ve Linkedin Profilimi ziyaret edebilirsiniz.

Şimdiden Teşekkürler, iyi çalışmalar.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response