Git Nedir?

Cihan Gültekin
3 min readJul 16, 2024

--

Git, yazılım geliştiricilerin kod versiyonlarını kontrol etmelerine ve işbirliği yapmalarına olanak tanıyan bir versiyon kontrol sistemidir. Kod tabanınızı yönetmenize ve değişiklikleri izlemenize, farklı versiyonları saklamanıza olanak sağlar.

Örneğin, bir proje üzerinde çalışırken kodunuzu Git ile yönetirsiniz. Her değişiklik (commit) yaparak kodunuzu kaydedebilir ve isterseniz eski versiyonlara geri dönebilirsiniz. Bu da işbirliği yapmayı ve geliştirme sürecini düzenlemeyi kolaylaştırır.

GitHub Nedir?

GitHub, Git tabanlı bir web platformudur. Geliştiricilerin Git kullanarak yönettiği projelerini barındırabilecekleri ve yönetebilecekleri bir hizmet sunar. Projelerinizi GitHub’a yükleyerek (push) diğer geliştiricilerle paylaşabilir, geri bildirim alabilir ve işbirliği yapabilirsiniz.

GitHub ayrıca bir sosyal ağ işlevi de görür; projelerinizi diğer geliştiricilerle paylaşabilir, onların projelerini keşfedebilir, katkı sağlayabilir ve açık kaynak kodlu yazılım dünyasında yerinizi alabilirsiniz.

Peki Bir Projem Var Bunu Nasıl Github’a Kaydedebilirim?

Githuba bir proje yüklemeden önce bir projeninizin olması gerekir :D .Bir proje yazdıktan sonra yükleminizi hem kullandığınız IDE ile hem de kodlarla sağlıya bilirsiniz ben bu bölümde kullandığınız IDE’ nin değişiklik gösterebileceği için size kodlarla yüklemeyi anlatacağım.

Not: Bu yazımda Windows işletim sistemini ele alacağım

Windows işletim sisteminde Github kodlarını kullanmak için cmd(Command Prompt), PowerShell veya bilgisayarınızda Github kurulu ise Git Bash terminallerinden birini kullanabilirsiniz.

1-) Proje dizinine gitme:

Başlat menüsünden terminallerin birini açtıktan sonra Projenizin dizinine gitmeniz gerek bunun için ;

cd /path/to/your/project

kodunu kullanabilirsiniz burada cd: “Change Directory” kelimelerinin kısaltmasıdır. Dizin değiştirmek için kullanılır. /path/to/your/project ise projenizin dizinini belirtir.

Gerçek bir örnek üzerinden açıklamak gerekirse, eğer proje dizininiz ~/Documents/MyProject ise, komut şu şekilde olacaktır:

cd ~/Documents/MyProject.

Ardından Git komutlarını çalıştırmaya başlayabiliriz.

2-)Değişiklikleri hazırlama:

Projenizi Github’a yüklemeden önce değişiklikleri hazırlamalısınız bunun için

git add <dosya_ismi>

git add .

kodlarından biri kullanılır.

bunların anlamı ise;

git add <dosya_ismi>: belirtilen <dosya_ismi> adlı dosyanın Git tarafından takip edilmesini sağlar. Yani Git, bu dosyanın değişikliklerini izlemeye başlar. Örneğin, git add index.html komutu, index.html dosyasının Git tarafından izlenmesini sağlar.

git add . : mevcut dizindeki tüm değişiklikleri Git’e eklemeyi sağlar. Yani, dizindeki tüm yeni dosyaları ve değişiklikleri Git’in takip etmesi için işaretler.

. işareti, mevcut dizini temsil eder. Dolayısıyla git add . komutu, bulunduğunuz dizindeki tüm dosyaları Git'e eklemek için kullanılır.

Özetle aralarındaki fark ilk olan bir dosyayı hazırlarken ikincisi dizindeki bütün dosyaları hazırlar.

— Onemli:

Bu aşamada

-fatal: not a git repository (or any of the parent directories): .gi-

tarzında bir hata alıyorsanız, bulunduğunuz dizinin veya herhangi bir üst dizinin bir Git deposu olmadığını gösterir. Bu sorunu çözmek için, dizininizin bir Git deposu olduğundan emin olmanız ve gerekirse bir Git deposu başlatmanız gerekiyor.

  • Git deposu başlatma: Eğer dizininizde daha önce Git deposu başlatmadıysanız, şu komutla başlatabilirsiniz:
  • git init
  • Mevcut bir Git deposuna geçiş yapma: Eğer zaten bir Git deposu varsa, doğru dizinde olup olmadığınızı kontrol edin. Örneğin:
  • cd /path/to/your/project
  • Git deposunu klonlama: Eğer bir uzak Git deposu varsa ve onu klonlamak istiyorsanız, şu komutu kullanabilirsiniz:
  • git clone <repository_url>

3-) Commit Etme:

Değişiklikleri Git’e ekledikten sonra bunları bir commit ile kaydetmeniz gerekiyor. Commit, projenizin bir anlık görüntüsüdür ve bir mesaj ile beraber yapılan değişiklikleri açıklar. Örneğin:

git commit -m "İlk commit, ana sayfa tasarımı güncellendi"

Burada -m flag'i ile bir commit mesajı ekliyoruz. Mesajın açıklayıcı olması ve yaptığınız değişiklikleri anlatması önemlidir.

4-) GitHub’a Yükleme (Push Etme):

Yaptığınız commitleri GitHub’a yüklemek için git push komutunu kullanırsınız:

git push origin master

Burada origin ana bilgisayarınızın GitHub'daki uzak depo adresini temsil eder ve master ise projenizin ana dalıdır. Eğer başka bir dal kullanıyorsanız onun adını kullanmalısınız.

— Onemli:

Bu aşamada

-$ git push origin master fatal: ‘origin’ does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.-

tarzında bir hata alıyorsanız,anlamı şudur;origin adında bir uzak depo yapılandırılmamış olduğunda veya uzak depo URL'sinde bir sorun olduğunda meydana gelir. Bu sorunu çözmek için aşağıdaki adımları takip edebilirsiniz:
1. Uzak Depo URL’sini Ekleme veya Kontrol Etme

Eğer uzak depo URL’si eklenmemişse, eklemelisiniz. Eğer ekliyse, doğru olup olmadığını kontrol etmelisiniz.

Uzak Depo URL’sini Ekleme

Öncelikle, origin adında bir uzak depo ekleyin:

git remote add origin <repository_url>

Örneğin, GitHub üzerindeki bir depo için URL şu şekilde olabilir:

git remote add origin https://github.com/kullanici_adi/proje_adi.git

Uzak Depo URL’sini Kontrol Etme

Eğer uzak depo URL’sini daha önce eklediyseniz, mevcut URL’yi kontrol etmek için şu komutu kullanabilirsiniz:

git remote -v

Bu komut, yapılandırılmış olan uzak depo URL’lerini gösterir. Eğer URL yanlışsa, set-url komutunu kullanarak düzeltebilirsiniz:

git remote set-url origin <correct_repository_url>

2. Uzak Depoya Push Yapma

Uzak depo URL’sini ekledikten veya düzelttikten sonra, değişikliklerinizi uzak depoya göndermek için şu komutu kullanabilirsiniz:

git push origin master

Bu adımları takip ederek, projenizi GitHub’a yüklemiş olursunuz. GitHub üzerindeki değişiklikleri takip edebilir, işbirliği yapabilir ve projenizi geliştirmeye devam edebilirsiniz.

--

--

Cihan Gültekin
0 Followers

Ben Cihan Gültekin, Ankara Yıldırım Beyazıt Üniversitesi'nde bilgisayar programcılığı öğrencisiyim. Yazılım alanında derin bilgi hedefliyorum.