İçeriğe geç

.gitignore Dosyası

import { Aside } from ‘@astrojs/starlight/components’;

Bu örnekler, .gitignore dosyasının nasıl kullanılacağını göstermektedir. Bu dosya, projenizin Git depo yönetimini daha temiz ve daha yönetilebilir hale getirmenize yardımcı olur. .gitignore dosyanızı oluştururken, projenizin ihtiyaçlarına göre hangi dosya ve dizinlerin yoksayılması gerektiğini dikkatle değerlendirin.

.gitignore Dosyası Nedir?

.gitignore dosyası, Git’in takip etmemesi gereken dosya ve dizinleri belirtmek için kullanılır. Bu, genellikle hassas bilgiler içeren, geliştirme sırasında oluşturulan geçici dosyalar veya derleme ürünleri gibi, kaynak kodu depolarında bulunmaması gereken öğeler içindir.

.gitignore Dosyası Nasıl Kullanılır?

  1. .gitignore Dosyası Oluşturun:

    • Proje kök dizininde bir .gitignore dosyası oluşturun. Bu, genellikle projenin en üst seviyesinde bulunur.
  2. Yoksayılacak Öğeleri Belirtin:

    • .gitignore dosyasına, Git tarafından takip edilmemesi gereken dosya ve dizinlerin adlarını ekleyin. Her satır, bir deseni temsil eder.
  3. Desenleri Kullanın:

    • Yıldız * karakteri, herhangi bir karakter dizisini temsil eder.
    • Eğik çizgi /, dizin sınırlarını belirtir.
    • Ünlem işareti !, bir deseni yoksayma kuralından hariç tutar.

.gitignore Dosyası Örnekleri

# Geçici dosyaları yoksay
*.tmp
# Log dosyalarını yoksay
*.log
# Özel bir dizindeki tüm dosyaları yoksay, örneğin node_modules
node_modules/
# Derleme ürünlerini yoksay
/build/
# Belirli bir dosyayı yoksay (örneğin, env dosyası)
.env
# Dizin adı ile başlayan tüm dosyaları yoksay
temp*/
# Ünlem işareti ile başlayan bir deseni hariç tut
!important.txt
# Belirli bir uzantıya sahip dosyaları, belirli bir dizin dışında her yerde yoksay
*.log
!/logs/important.log

Ekleme ve Kaldirma

Bir dosyayi git takibine ekleme ve cikarma konusunu da isleyelim.

Bazen .gitignore dosyasi olusturdugunuzda bazi dosyalari ekleymeyi veya cikarmayi unutmus olabilirsiniz. Bu durumda bu dosyalar github’a yuklenmis veya yuklenmemis olabilir.

Peki bu durumu nasil duzeltecegiz.

Ekleme

Bir dosya turunu git takibi icin eklemek kolaydir. Oncelikle .gitignore dosyasinda bu dosya (dosya turu, klasor vs de olabilir) kaldirildigindan emin olun sonra;

git add dosya-adi komutu ile bu dosyayi git takibine alabilirsiniz.

Kaldirma

Bir dosya veya klasor zaten git takibinde ise ve dosyalarinizi github’a yuklediginizde bu dosya ve klasorlerde yukleniyorsa ve siz de bunlari artik git takibinden cikarmak ve github’dan da kaldirmak isterseniz islemler nasil olmali?

Ornegin .env dosyasini haric tutmayi unuttunuz ve .env dosyasi icindeki hassas bilgileriniz github’a yuklendi.

  • Oncelikle .env dosyasini .gitignore dosyasina ekleyin .env eger bir alt klasorde ise ornegin backend/.env olarak ekleyin.
  • git rm --cached .env komutu ile dosyayi yerel depodan kaldirin. Bu komut dosyayı fiziksel olarak silmez, sadece Git’in takibinden çıkarır.

bu asamadan sonra eger gorsel bir git duzenleyeci kullaniyorsaniz degisiklikleri gorecek ve guncellemeleri yapabileceksiniz. Eger tamamen git komutlari ile devam ediyorsaniz;

  • Değişiklikleri işleyin ve GitHub’a gönderin: git add .gitignore komutuyla .gitignore dosyasındaki değişiklikleri ve git rm --cached .env komutuyla dosyanın kaldırılmasını işleyin. Ardından git commit -m ".envdosyası .gitignore dosyasına eklendi" komutuyla değişiklikleri GitHub’a gönderin.

-r Farki

git rm --cached komutu, belirtilen dosyaları Git deposunun indeksinden (staging area) kaldırır, ancak dosyaları çalışma dizininizde bırakır. Bu, dosyaları yerel olarak saklamak istediğinizde, ancak Git’in bunları izlemesini istemediğinizde kullanışlıdır.

git rm -r --cached komutu ise aynı işlemi özyinelemeli olarak gerçekleştirir. Yani, belirtilen dizindeki tüm dosya ve alt dizinleri indeksden kaldırır. Bu, bir dizini ve içindeki tüm içeriği Git’in takibinden çıkarmak istediğinizde kullanışlıdır.

Özetle, -r seçeneği, komutun belirtilen dizindeki tüm dosya ve alt dizinlere özyinelemeli olarak uygulanmasını sağlar.

İşte bir örnek:

  • git rm --cached dosya.txt komutu, dosya.txt dosyasını indeksden kaldırır.
  • git rm -r --cached klasor komutu, klasor dizinini ve içindeki tüm dosya ve alt dizinleri indeksden kaldırır.