# Depolarla Başlama

Bu başlangıç seviyesine uygun kılavuz, Hub'da depolamanızı oluşturmak ve yönetmek için ihtiyacınız olan temel becerileri kazanmanıza yardımcı olacaktır. Her bölüm bir öncekinin üzerine inşa edildiğinden, nereden başlamak isterseniz oradan başlayabilirsiniz!

## Gereksinimler

Bu belge, depoların hem web arayüzü hem de terminal üzerinden nasıl yönetileceğini gösterir. Arayüzle çalışırken herhangi bir ön koşul yoktur. Terminalle çalışmak istiyorsanız lütfen bu kurulum talimatlarını izleyin.

`git` henüz bir komut satırı komutu olarak kullanılamıyorsa, platformunuz için [Git'i kurmanız](https://git-scm.com/downloads) gerekir. Ayrıca, görüntüler ve model ağırlıkları gibi büyük dosyaları işlemek için kullanılacak [Git-Xet'i de kurmanız](./xet/using-xet-storage#git-xet) gerekir.

> [!TIP]
> Git üzerinden büyük dosyaları indirmek ve yükleyebilmek için [Git Xet](./xet/using-xet-storage#git) eklentisini yüklemeniz gerekir.

Kodunuzu Hub'a göndermek için bir şekilde kimlik doğrulamanız gerekir. Bunu yapmanın en kolay yolu [`hf` CLI](https://huggingface.co/docs/huggingface_hub/guides/cli)'yi kurup login komutunu çalıştırmaktır:

```bash
# Install hf:
#   brew install hf
#   or
#   pip install hf
hf auth login
```

**Bu belgenin Başlangıç bölümündeki içerik bir video olarak da mevcuttur!**

## Depo oluşturma

Hub'ın web arayüzünü kullanarak depolar oluşturabilir, dosyalar ekleyebilirsiniz (büyük olanlar dahil!), modelleri keşfedebilir, farkları görselleştirebilir ve daha fazlasını yapabilirsiniz. Hub'da üç tür depo bulunur ve bu kılavuzda tanıtım amaçlı bir **model deposu** oluşturacaksınız. Modelleri, veri kümelerini ve Spaces'leri oluşturma ve yönetme hakkında bilgi için ilgili belgelere başvurun.

1. Yeni bir depo oluşturmak için [huggingface.co/new](http://huggingface.co/new) adresini ziyaret edin:

2. Deponun sahibini belirtin: bu, siz veya bağlı olduğunuz kuruluşlardan herhangi biri olabilir.

3. Modelinizin adını girin. Bu, aynı zamanda depoyun adı olacaktır.

4. Modelinizin herkese açık mı yoksa özel mi olmasını istediğinizi belirtin.

5. Lisansı belirtin. *Lisans* alanını şimdilik boş bırakabilirsiniz. Lisanslar hakkında bilgi edinmek için [**Lisanslar**](repositories-licenses) belgelerine göz atın.

Model depolamanızı oluşturduktan sonra, aşağıdaki gibi bir sayfa görmelisiniz:

Hub, hakkında [**Model Cards belgeleri**](./model-cards)'nde bilgi edinebileceğiniz bir *Model Card* oluşturmaya sizi yönlendirir. Model deposuna bir Model Card eklemek en iyi uygulamalardan biridir, ancak şu an yalnızca bir test deposu oluşturduğumuz için bunu atlayabiliriz.

## Bir depoya dosya ekleme (Web arayüzü)

Web arayüzü üzerinden deponuza dosya eklemek için önce **Files** sekmesini seçin, hedef dizine gidin ve ardından **Add file** düğmesine tıklayın. Yeni bir dosya oluşturma veya dosyayı doğrudan bilgisayarınızdan yükleme seçeneği sunulacaktır.

### Yeni bir dosya oluşturma

Yeni bir dosya oluşturmaya karar verirseniz, dosyanıza bir ad seçebileceğiniz, içerik ekleyebileceğiniz ve değişikliklerinizi özetleyen bir mesajla dosyanızı kaydedebileceğiniz aşağıdaki düzenleyici ekranına yönlendirilirsiniz. Yeni dosyayı doğrudan repozituarınızın `main` dalına eklemek yerine, bir [Pull Request](./repositories-pull-requests-discussions) oluşturmak için `Open as a pull request` seçeneğini seçebilirsiniz.

### Bir dosya yükleme

_Dosya yükle_ seçeneğini seçerseniz, depoya yaptığınız değişiklikleri özetleyen bir mesajla birlikte yüklemek için yerel bir dosya seçebilirsiniz.

Yeni dosya oluşturmada olduğu gibi, değişikliklerinizi doğrudan repozitorinizin `main` dalına eklemek yerine bir [Pull Request](./repositories-pull-requests-discussions) oluşturmak için `Open as a pull request` seçeneğini seçebilirsiniz.

## Depoya dosya ekleme (CLI)[[cli]]

Dosyaları [`hf` CLI](https://huggingface.co/docs/huggingface_hub/guides/cli) kullanarak doğrudan terminalden deponuza yükleyebilirsiniz. Yerel dosyaları veya tüm klasörleri göndermek için `hf upload` komutunu kullanın:

```bash
# Upload a single file to your model repo
hf upload your-username/your-model-name model.safetensors

# Upload an entire directory
hf upload your-username/your-model-name ./my-model-directory

# Upload to a dataset repo
hf upload your-username/your-dataset-name ./data --repo-type dataset
```

`hf` CLI büyük dosyaları otomatik olarak işler — ek bir kurulum gerekmez.

## Bir depoya dosya ekleme (git)[[terminal]]

### Depoları klonlama

Depoları yerel makinenize indirmek *kopyalama* olarak adlandırılır. Deponuzu yüklemek ve içine geçmek için aşağıdaki komutları kullanabilirsiniz:

```bash
git clone https://huggingface.co/<your-username>/<your-model-name>
cd <your-model-name>
```

Veya bir veri seti deposu için:

```bash
git clone https://huggingface.co/datasets/<your-username>/<your-dataset-name>
cd <your-dataset-name>
```

Aşağıdaki komutla SSH üzerinden klonlayabilirsiniz:
```bash
git clone git@hf.co:<your-username>/<your-model-name>
cd <your-model-name>
```

Değişiklikleri göndermek veya özel depolara erişmek için SSH anahtarınızı [kullanıcı ayarlarınıza](https://huggingface.co/settings/keys) eklemeniz gerekir.

### Kurulum

Şimdi tam zamanı, istediğiniz dosyaları repoya ekleyebilirsiniz! 🔥

10MB'dan büyük dosyalarınız var mı? Bu dosyalar, şu komutla başlatabileceğiniz [`git-xet`](./xet/using-xet-storage#git-xet) ile izlenmelidir:

```bash
git xet install
```

Hugging Face kullanarak bir depo oluşturduğunuzda, Hugging Face, `.gitattributes` dosyasında yaygın Makine Öğrenimi büyük dosyaları için yaygın dosya uzantılarının listesini otomatik olarak sağlar; `git-xet` bu dosyayı büyük dosyalarınızdaki değişiklikleri verimli bir şekilde izlemek için kullanır. Ancak dosya türleriniz zaten işlenmiyorsa yeni uzantılar eklemeniz gerekebilir. Bunu `git xet track "*.your_extension"` komutuyla yapabilirsiniz.

### Dosyaları gönderme

Git'i, yeni dosyaları ve mevcut dosyalardaki değişiklikleri, projenize bir "revizyon" olarak düşünülebilen *commit* adı verilen bir değişiklik paketi olarak kaydetmek için kullanabilirsiniz. Bir commit oluşturmak için, değişiklikleri kaydetmeyi planladığımızı Git'e bildirmek üzere dosyaları `add` etmeli ve ardından bu değişiklikleri `commit` etmelisiniz. Yeni commit'i Hugging Face Hub ile senkronize etmek için commit'i Hub'a `push` etmeniz gerekir.

```bash
# Create any files you like! Then...
git add .
git commit -m "First model version"  # You can choose any descriptive message
git push
```

Ve işiniz bitti! Hugging Face'teki deposunuzu, son eklenen tüm dosyalarla birlikte kontrol edebilirsiniz. Örneğin, aşağıdaki ekran görüntüsünde kullanıcı bir dizi dosya ekledi. Bu örnekteki bazı dosyaların boyutu `1.04 GB` olduğundan, depo bunu izlemek için Xet kullanır.

> [!TIP]
> Depoyu HTTP ile klonladıysanız, her push işleminde kullanıcı adınızı ve şifrenizi girmeniz istenebilir. Tekrarı önlemenin en basit yolu, HTTP yerine [SSH'ye geçmektir](#cloning-repositories). Alternatif olarak, HTTP kullanmak zorundaysanız, kullanıcı adınızı ve şifrenizi otomatik doldurmak için bir [git credential helper](https://git-scm.com/docs/gitcredentials#_avoiding_repetition) yapılandırmak işinize yarayabilir.

## Bir depoyun geçmişini görüntüleme

Her `add`-`commit`-`push` döngüsünde, depo dosyalarınıza yaptığınız her değişikliği takip eder. Arayüz, model dosyalarını ve commit'leri incelemenize ve her commit'in getirdiği farkı (ayn zamanda *diff* olarak bilinir) görmenize olanak tanır. Geçmişi görmek için **History: X commits** bağlantısına tıklayabilirsiniz.

Bir commit'in o commit'in getirdiği değişiklikleri görmek için üzerine tıklayabilirsiniz:

