Giter VIP home page Giter VIP logo

git101's Introduction

Github101 Türkçe Dökümantasyon

Şehir Teknolojileri Birimi İçin Hazırlanmıştır. Genel Kullanıma Açıktır.

İçindekiler

  • Git Nedir?
  • Git’e Neden İhtiyaç Duyarız?
  • Git’in Çalışma Mantığı
  • Git’in Yapılandırması
  • Git Projesi Oluşturma
  • Dosyaları Git Deposuna (Repository) Ekleme
  • Git Dosyasındaki Değişiklikler
  • Git’ten Dosya Silme
  • Projedeki Dosyanın İsmini Değiştirme
  • Dosya Taşıma
  • Dosyadaki Değişiklikleri Geri Alma
  • Versiyon Değiştirme
  • Git Dallanma (Branch)
  • Uzak Repo’dan Local’e Proje Çekme (Clone)
  • Uzak Repodan Değişiklikleri Local Repoya Çekmek (Pull komutu)
  • GitHub Nedir?
  • GitHub Neden Kullanılır?
  • GitHub Repository (Depo) Oluşturma
  • GitHub’a Proje Gönderme
  • GitHub Branch
  • GitHub Issues
  • Github Issue Closed

Git Nedir

Bir versiyon kontrol sistemidir. Yapacağınız projelerin kopyalarını alarak projelerinizin eski versiyonlarına kolaylıkla geri dönmenizi sağlayan bir sistemdir.

Git sistemi, Linux çekirdeğini yazan Linus Torvalds tarafından geliştirilmiştir. Açık kaynak kodlu özgür yazılım ürünüdür.

Git Çalışma Mantığı

Git çalışma mantığı olarak diğer versiyon kontrol sistemlerinden biraz farklıdır. Diğer versiyon kontrol sistemleri, commit işleminde dosyaların değişiklik durumuna göre yeni versiyon kopyasında dosyanın durumunu kaydeder. Ancak git’te her versiyon için projenin tamamının durumu kaydedilir. Çalışma alanı olarak üçe ayrılmaktadır. Çalışma dizinimizde (working directory) git projesi başlatarak işe koyuluruz. Bu alan sistemin ilk alanıdır. Daha sonra çalışma dizinimizdeki dosyaları geçiş bölgesine (staging area) ekleriz. Bu alan sistemin ara alanıdır.

Git Yapılandırması

-1- Kullanıcı Adı Belirleme.

git config --global user.name “username”

-2- E-mail Belirleme

git config --global user.email “email_adress”

Git Projesi Oluşturma

Proje klasörünün bulunduğu konuma giderek projeyi git init komutuyla oluşturabilirsiniz

Dosyaları Git Deposuna (Repository) Ekleme

Repository Git projenizin Git tarafından saklandığı yerdir.

git add .
git commit -m "first commit"

Projenizin bir versiyon kopyasını oluşturmuş oldunuz. Birinci satırdaki ‘add‘ komutu dosyaları geçiş bölgesine (staging area) yükle anlamına geliyor. Add komutunun yanındaki nokta çalışma alanındaki tüm dosyaları geçiş bölgesine gönder anlamına gelir eğer siz belli bir dosya göndermek istiyorsanız o dosyanın adını yazabilirsiniz.

Projede en az bir kere yukardaki yöntem ile repoya dosya yüklediyseniz ve bundan sonra dosyalarınızı geçiş bölgesine eklemeden direk repoya atmak istiyorsanız aşağıdaki kod bloğunu kullanabilirsiniz.

git commit -am "first commit"

Log kayıtlarını görüntülemek

git log

Git Dosyasındaki Değişiklikler

status komutu, çalışma dizininin durumunu ve hazırlama alanını görüntüler. Hangi değişikliklerin hazırlandığını, hangilerinin yapılmadığını ve hangi dosyaların Git tarafından izlenmediğini görmenizi sağlar.

git status

diff komutu, çalışma dizinin durumunu ve hazırlanma alanını satır şeklinde görüntülemenizi sağlar. Sadece belirli dosyalardaki değişikliğe bakmak için dosyanın uazntısını eklemelisiniz.

git diff

git diff dirctory/

Git’ten Dosya Silme

Git projesinden dosya silmek için iki tane yöntem var. Birincisi direkt çalışma dizininden silmek, ikincisi ise komutlar ile silmek.

Birincisini anlatarak başlıyorum. Proje dosyanıza giderek dosyanızı siliyorsunuz. Ve sırasıyla aşağıdaki komutları yazarak silme işlemini gerçekleştirmiş olursunuz.

git rm  rm_file/
git commit -m "file deleting”

Git Dosya İsmi Değiştirme

git mv file_first_name last_name
git commit -m “name change”

Git Dosya Taşıma

git mv filenameToMove destinationFolder
git commit -m “Migration process”

Dosyadaki Değişiklikleri Geri Alma

Dosyada yapılan değişiklikleri geri almak

git checkout -- changed_filename

Dosyaları git add ile ekledikten sonraki değişiklikleri geri almak

git reset HEAD file_name 
git checkout -- file_name

Versiyon Değiştirme

Bu işlem için git log ile versiyonları sıralıyoruz ve gitmek istediğimiz versiyonun hash kodunu alıyoruz. (Hash code, commit yazısının yanında bulunan kod satırıdır.)

git checkout version_hash_code -- .
git commit – m “old version copied”

Git Branch

Git projesi oluşturduğunuzda varsayılan olarak main brach oluşur ve siz bu dal üzerinden işlemlerinizi gerçekleştirirsiniz. Bireysel çalışılan bir projede bu yöntem ile bir sıkıntı yaşamazsınız. Ancak çoklu projelerde çalışıyorsanız ve takım üyeleri projenin farklı alanları ile ilgileniyorsa o zaman sıkıntı yaşamaya başlayabilirsiniz. Branch sayesinde her takım üyesi kendi branch‘ında çalışarak diğer takım arkadaşlarının kodlarında değişikliğe sebebiyet vermez. Proje bitiminde merge işlemi ile tüm proje branch’ları master branch’ında birleştirilebilir.

  • Branch Listesini Görme
git branch
Not : Aktif olan branch * sembolü ile gösterilir
  • Yeni Branch Oluşturma
git branch new_branch_name
  • Oluşturulan Branch’a Geçiş Yapmak
git checkout new_branch_name

Hem branch oluşturup hem de branch’a geçiş yapmak istiyorsanız aşağıdaki kodu kullanabilirsiniz.

git checkout -b new_branch_name
  • Branch’ın İsmini Değiştirmek
git branch -m new_branch_name newBranch
  • Branch Silmek
git branch -D newBranch
  • Branch’ları Birleştirmek (Merge)
git merge master newBranch

Uzak Git Sunucusundan HTTP proje çekmek

git clone https://github.com/username/your_git_repo
`örneğin`
git clone https://github.com/kadirbelkuyu/try.git

Değişiklikleri local sunucunuza çekmek

git pull
git pull 'remote_address' 'branch_name'

Github Proje Gönderme

git init
git add .
git commit -m “first commit”
git remote add origin repository_name.git
git push -u origin main

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.