[GİT KULLANIMI] Git ile yedekleme - Klasör kopyalamayı bırakın

  • Konuyu açan Konuyu açan XENOR
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 57

XENOR

Platin Üye
Platin Üye
Geliştirici
Üye
Mesaj
6
Beğeni
4
Puan
23
Ticaret Puanı
0
Herkese iyi forumlar,

Son zamanlarda birkaç arkadaşa yardım ederken hep aynı şeyi gördüm: yedek diye klasörler kopyalanıyor, "Source_yedek", "Source_yedek2", "Source_son_hali" diye gidiyor. Sonra bir şey bozulunca hangi dosya ne zaman değişti kimse bilmiyor. Geçen gün bir arkadaşta eski bir yedekle yenisi karışınca yarım günümüz gitti.

Yazılımcılar bu işi Git ile yapıyor. Tecrübeli arkadaşlar zaten kullanıyordur, bilmeyenler için kısaca anlatayım. Göründüğü kadar zor değil, 10 dakikada başlarsınız.

Ne kazandırıyor?
  • Her değişikliği bir notla kaydediyorsunuz ("kostüm sistemi eklendi" gibi)
  • Hangi dosyada, hangi satırda, ne zaman ne değişti görüyorsunuz
  • Bir sistem eklediniz, her şey bozuldu mu? Tek komutla eski haline dönüyorsunuz
  • Koca klasörleri kopyalamıyorsunuz, sadece değişen kısımlar saklanıyor

adresinden "Git for Windows"u indirip kurun. Kurulumda her şeyi varsayılan bırakabilirsiniz.

Kurduktan sonra bir kere şunu yapın (Başlat > Git Bash):
Kod:
Genişlet Daralt Kopyala
git config --global user.name "isminiz"
git config --global user.email "mailiniz"

Source klasörünüze girin, boş bir yere sağ tık > Open Git Bash here:
Kod:
Genişlet Daralt Kopyala
git init

Sonra aynı klasöre .gitignore adında bir dosya oluşturup içine şunu yazın. Bu dosya derleme çıktılarının ve gereksiz dosyaların kayda girmesini engelliyor, yoksa repo şişer:
Kod:
Genişlet Daralt Kopyala
# Visual Studio
.vs/
*.obj
*.pdb
*.ilk
*.ipch
*.idb
*.iobj
*.ipdb
*.tlog
*.log
**/Debug/
**/Release/

# FreeBSD derleme
*.o
*.d
*.core
syserr
syslog

# Şifre ve IP içeren ayarlar
CONFIG

Not: Release/Debug klasörü adını sizin projede başka bir şey için kullanıyorsanız o satırları ona göre düzenleyin. Extern klasöründeki .lib dosyalarını engellemeyin, onlar derleme için lazım. Şifre içeren başka ayar dosyalarınız varsa onları da en alta ekleyin.

Sonra ilk kaydı alın:
Kod:
Genişlet Daralt Kopyala
git add .
git commit -m "ilk hali"

Bir iş bitirdiğinizde (sistem ekleme, hata düzeltme):
Kod:
Genişlet Daralt Kopyala
git add .
git commit -m "ne yaptığınızı yazın"

Neler değişmiş görmek için:
Kod:
Genişlet Daralt Kopyala
git status   (hangi dosyalar değişti)
git diff     (değişen satırlar)
git log      (geçmiş kayıtlar)

Tek bir dosyayı son kayıttaki haline döndürmek için:
Kod:
Genişlet Daralt Kopyala
git checkout -- dosya_adi.cpp

Kaydetmediğiniz bütün değişiklikleri çöpe atmak için:
Kod:
Genişlet Daralt Kopyala
git reset --hard
Dikkat: Kaydedilmemiş her şeyi siler, emin değilseniz kullanmayın.

Sistem eklemeden önce ayrı bir dal açın:
Kod:
Genişlet Daralt Kopyala
git checkout -b sistem-deneme

Sistem çalışmazsa ana dala dönersiniz, hiçbir şey olmamış gibi devam edersiniz:
Kod:
Genişlet Daralt Kopyala
git checkout master
(Bazı kurulumlarda ana dalın adı "main" olabilir.)

Önemli notlar
  • Veritabanı Git'e girmez. Onu ayrıca yedekleyin (Navicat'ten "Dump SQL File" ya da mysqldump).
  • Şifre içeren ayar dosyalarını kayda koymayın.
  • GitHub gibi bir yere yükleyecekseniz repo mutlaka PRIVATE olsun. Source'unuzu yanlışlıkla herkese açmayın.
  • Komut sevmeyenler GitHub Desktop ya da VS Code'un Git ekranını kullanabilir, aynı işi tıklayarak yapıyorsunuz.

Takılan olursa yazsın, yardımcı olurum.
 
Geri
Üst