Git & GitHUB

 

Git & GitHub Nedir?

Git

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. İlk sürümü Linux çekirdeği'nin geliştirilmesinde kullanılmak üzere 2005 yılında bizzat Linus Torvalds tarafından tasarlanıp geliştirilmiş, 2021 yılı itibarıyla %73 pazar payına ulaşmıştır. 

GitHub

GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için web tabanlı bir depolama servisidir. 8 Şubat 2008 tarihinde Tom Preston-Werner, Chris Wanstrath, P. J. Hyett, Scott Chacon tarafından kuruldu.

Git Kurulumu

Git kurulumunu işletim sistemi fark etmeden kurulabilir. Git komutları hiç bir zaman işletim sistemine göre değişmez.

Git indirmek için bakınız. https://git-scm.com/downloads

Windows

Git indirme linki üzerinden Windows işletim sisteminde işlemci mimarinize (x86, x64) uygun şekilde olanı indiriniz. 

Linux & Mac

Güncel Linux ve mac dağıtımlarında yüklü gelmektedir. Yüklü olduğunu doğrulamak için git versiyon kontrolü yapabilirsiniz.

git --version

Eğer yüklü değil ise mac için;

Henüz sahip değilseniz, homebrew'u yükleyin , ardından komut satırını çalıştırın.

brew install git

Henüz sahip değilseniz, MacPorts'u yükleyin , ardından komut satırını çalıştırın.

sudo port install git

Eğer yüklü değil ise linux için;

Linux dağıtımınızın tercih edilen paket yöneticisini kullanarak Git'i Linux'a kurmak en kolay yoldur. Aşağıdaki komutları dağıtımlarınıza göre super user yetkileri ile çalıştırıp kurulumları gerçekleştirebilirsiniz.

Debian/Ubuntu

Debian/Ubuntu sürümünüz için en son kararlı sürüm için.

apt-get install git

Ubuntu için bu PPA, en son kararlı yukarı akış Git sürümünü sağlar

add-apt-repository ppa:git-core/ppa
apt update; apt install git

Fedora

# yum install git

 Gentoo

emerge --ask --verbose dev-vcs/git

Arch Linux

pacman -S git

openSUSE

zypper install git

Mageia

urpmi git

Nix/NixOS

nix-env -i git

FreeBSD

pkg install git

Solaris 9/10/11 (OpenCSW)

pkgutil -i git

Solaris 11 Express

pkg install developer/versioning/git

OpenBSD

pkg_add git

Alpine

apk add git

Linux ve mac üzerinde varsayılan editör vim olarak gelmektedir. Bunu değiştirmek için aşağıdaki link üzerinden gerekli komutları çalıştırabilirsiniz.

https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config

Basit Terminal Komutları

Git kullanmak için, bazı temel komutları bilmemiz gerekiyor. Eğer daha önce kullandıysanız size çok yabancı gelmeyecektir. Ancak yine de bazı komutlardan bahsedelim.

ls

pwd

cd

Git Kayıt Olma

Git kayıt olduktan sonra komutları kimin yazdığı, hangi zamanda yazdığı gibi bir çok bilgiye ulaşabiliyoruz.

İlk olarak ismimizi kayıt edelim.

git config --global user.name "Mehmet ÖZ"

Değişlikleri kontrol edelim.

git config user.name

Şimdi ise e-mail adresimizi kayıt edelim.

git config --global user.email xxxx@hotmail.com

Değişlikleri kontrol edelim.

git config user.email

Git Terimleri

commit

 

branch

 

Index-Staging

 

Local Repository

 

 

 

git komutları

git status

git init

git add

 

git kullanımı

Bir klasör oluşturduk. İlk olarak git'i o klasöre bağlamamız gerekmektedir. Klasörün hangi durumda olduğunu kontrol etmek için git status komutunu kullanabiliriz.

 

Projeye başlamadan önce git init komutunu kullanmamız gerekmektedir. 

 

git init'i çalıştırdıktan sonra. artık bu bizim repo muz. Her şey loglanacak tüm işlemlere gerçekleşecektir.

Kullanıma başlamadan önce her zaman git status ile kontrol edilmesi eğer git init komutu daha önce çalıştırılmış ise, tekrar bu komutun çalıştırılması hata almanıza sebep olabilir.

Klasörün içini listelediğimizde gizli dosya ve klasörleri göremeyiz. Bunun için -a opsiyonunu kullanmamız yeterlidir. 

 

Listelediğimiz zaman .git adında bir klasör görüyoruz. En başta söylediğimiz gibi git tüm yapılan tüm işlemleri bu klasöre kaydediyor. 

 

şimdi 2 tane dosya oluşturalım.

1.py

1.txt

şimdi tekrar status komutunu çalıştıralım.

Tekrar baktığımızda Untracked files kısmında dosyalarımızı görüyoruz. 

 

Eklemek için

git add 1.py

şimdi status yapıyoruz.

git commit -m ”yeni dosya olusturuldu "

 

git log

her commitin kendine özel bir hash'i oluyor.

Author : Yazar bilgileri, en başta girdiğimiz bilgileri göreüyoruz.

date: tarih

 

Şimdi dosyalara bir şeyler yazalım ve tekrar durumuna bakalım.

Değişiklikler olduğunu görebiliyoruz. Bu kısımda ister dosyaları tek tek ekleyebilir.

git add dosya

istersek klasördeki tüm dosyaları ekleyebilmek için nokta “.” karakterini kullabiliriz.

git add .

 

gitignore

Projelerinizi github veya internet ortamını yüklemek isteyebilirsiniz. Ancak bazı durumlarda projenizdeki her şeyin gitmesini istemeyebiliriz. Bunlar gereksiz dosyalar, API keyler ve bir çok şey olabilir. Bu gibi durumlarda proje yaptığınız klasör içine .gitignore adında bir dosya oluşturuyoruz.

touch .gitignore

oluşturduğumuz dosyaya dahil olmasını istemediğimiz dosyaları yazıyoruz.

dosya1.txt

 

Günümüzde bir çok yazılım dili mevcut ve kullanılıyor. Kendi yazılım dilinize örnek olarak hangi dosyaların dahil edilmediği görmek için aşağıdaki siteyi incelerseniz kafanızda bir şeyler oturacaktır.

https://github.com/github/gitignore

 

Git branch

head

branch mehmet

git switch

merge

git stash

git stash list

git stash pop

git stash apply [stash adı]

git stash clear

 

 

Local Repo Git Hub'a Ekleme

 

git remote add origin https://github.com/mehmetooz/private.git

 

origin ismi url'e denk gelmektedir.

 

git branch -M main

git push -u origin master

 

 

 

Blog'a Dön