> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/tr/bilgi-bankasi/040-git-integration.md).

# Git entegrasyonu

**Overleaf'in Git entegrasyonu** bir [premium özellik](/latex/tr/bilgi-bankasi/120-overleaf-premium-features.md). Overleaf premium özellikleri şu katılımcılara sunulur [Overleaf Commons](https://www.overleaf.com/for/universities), grup üyelerine [abonelikler](https://www.overleaf.com/for/groups), ve bireysel [abonelikler](https://www.overleaf.com/user/subscription/plans). Git entegrasyonu, Overleaf Cloud ve Overleaf Server Pro'da (4.0 ve sonraki sürümler) kullanılabilir.

### Overleaf Git entegrasyonu nedir?

Overleaf'in Git entegrasyonu, Overleaf projenizden bir Git URL'si almanıza ve bunu uzak bir Git deposu (repo) gibi kullanmanıza olanak tanır. Projenizi yerel bir Git deposuna klonlayabilir ve projeniz üzerinde yerel olarak çalışabilir, yerel makinenizden projenize değişiklikleri gönderebilir ve Overleaf'in çevrimiçi düzenleyicisinde gerçekleşen güncellemeleri yerel deponuza çekebilirsiniz.

Bu, çevrimiçi çalışmanın mümkün olmadığı zamanlarda projeniz üzerinde yerel olarak çalışmanıza, bir Overleaf projesiyle çalışırken tercih ettiğiniz farklı bir yerel düzenleyiciyi kullanmanıza veya diğer yerel yazılımlardan çıkan sonuçları Overleaf projenize kolayca eklemenize olanak tanır.

Projeniz için Git URL'sini ve klonlama komutunu, projenizin Overleaf menüsündeki Git seçeneğinden alabilirsiniz.

![Proje menüsü git.png](/files/f24a6c1858ca06e5487fd78081de1ce6cc9044ad)

### Git entegrasyonunu kullanırken kimlik doğrulama nasıl yapılır

Uzak Overleaf projenize klonlama, çekme veya gönderme gibi bir Git işlemi yaptığınızda kimlik doğrulaması yapmanız istenir.

Overleaf projenize Git üzerinden erişmek için Overleaf belirteç tabanlı kimlik doğrulamasını kullanmanız gerekir. Adım adım talimatlar için bkz.: [Belirteç tabanlı kimlik doğrulama](/latex/tr/bilgi-bankasi/042-git-integration-authentication-tokens.md).

### Projenizi yerel bir depo olarak klonlama

Şuradan [**Menü**](/latex/tr/bilgi-bankasi/148-using-the-overleaf-project-menu.md) projeniz içinde, Eşitleme seçeneklerinden Git'i seçebilirsiniz. Bu, `git clone` yerel deponuzu oluştururken kullanılacak komutu gösteren bir iletişim kutusu açacaktır.

![Proje menüsü git.png](/files/f24a6c1858ca06e5487fd78081de1ce6cc9044ad)

Alternatif olarak, Git URL'sini proje URL'sinden bulabilirsiniz (bir projenin içindeyken tarayıcı adres çubuğundaki URL).

#### Overleaf Cloud

Overleaf Cloud kullanıyorsanız ve Overleaf proje URL'niz şöyle görünüyorsa:

```
https://www.overleaf.com/project/1234567
```

O zaman projeyi klonlamak için kullanılacak Git URL'si şu olacaktır:

```
https://git.overleaf.com/1234567
```

Ve projeyi yerel bir Git deposuna klonlamak için kullanılan komut şu olacaktır:

```
git clone https://git.overleaf.com/1234567
```

**Not**: sizden kullanıcı adı ve parola istenebilir. Lütfen şuraya bakın: [Git entegrasyonu parola kimlik doğrulaması](/latex/tr/bilgi-bankasi/043-git-integration-password-based-authentication.md)

#### Overleaf Server Pro (4.0 veya sonraki sürüm)

**Not**: Git-bridge entegrasyonu Server Pro'da varsayılan olarak etkin değildir. Lütfen etkinleştirme talimatları için bizim [Git Entegrasyonu](https://github.com/overleaf/overleaf/wiki/Git-Integration) kılavuzumuza bakın.

Overleaf Server Pro kullanıyorsanız ve Proje URL'niz şöyle görünüyorsa:

```
https://<SHARELATEX_SITE_URL>/project/1234567
```

O zaman projeyi klonlarken kullanılacak Git URL'si şu olacaktır:

```
https://git@<SHARELATEX_SITE_URL>/git/1234567
```

Ve projeyi Git komut satırını kullanarak yerel bir Git deposuna klonlamak için kullanılan komut şu olacaktır:

```
git clone git@<SHARELATEX_SITE_URL>/git/1234567
```

**Not**: sizden bir parola istenebilir. Lütfen bakınız: [Git entegrasyonu kimlik doğrulama belirteçleri](/latex/tr/bilgi-bankasi/042-git-integration-authentication-tokens.md)

### Mevcut bir Git deposundan bir Overleaf projesi oluşturma

Mevcut bir deponuz varsa, bir Overleaf projesini uzak depo olarak ekleyebilirsiniz. İşleri başlatmak için çalıştırmanız gereken aşağıda birkaç komut var. Lütfen Overleaf'in her proje için yalnızca tek bir doğrusal geçmişi desteklediğini unutmayın. Git entegrasyonu, dal sayısını bire sınırlayarak bu kısıtlamayı uygular. O tek dal şu anda sabit olarak `master`.

1. İlk olarak, bilgisayarınızda `my-paper`adlı bir klasörde bir git deponuz olduğunu varsayıyoruz. (GitHub, GitLab veya Bitbucket vb. üzerinde barındırılıyor da olabilir, ancak bunun da yerel olarak klonlanmış olması gerekir.)
2. Oluştur [yeni bir proje](/latex/tr/bilgi-bankasi/031-creating-a-document-in-overleaf.md) Overleaf'te. Projedeki herhangi bir içerik üzerine yazılacağı için, bu projeyi oluştururken 'Blank' proje seçeneğini kullanın ve `main.tex` dosyasını Overleaf'te silin.
3. Proje için Git URL'sini bulun (bkz. [yukarıda](#cloning-your-project-as-a-local-repository)).

   ![Git-bridge-url.png](/files/4e520ae275dc2fb1ec4d185f43764c3e87036341)
4. Proje için Git URL'sini yerel projenizde uzak depo olarak ekleyin.

   ```
   $ cd my-paper
   $ git remote add overleaf <GIT-URL>
   ```

   (Örnek bağlantıyı değil, kendi bağlantınızı kullandığınızdan emin olun.)
5. Overleaf projesinden en son içeriği çekin ve master dalınıza birleştirin.

   ```
   $ git checkout master
   $ git pull overleaf master --allow-unrelated-histories --rebase=false
   ```
6. Projenizi Overleaf'e gönderin.

   ```
   $ git push overleaf master --set-upstream
   ```

   Yerel olarak farklı bir dal adı kullanmak istiyorsanız, örneğin `my-branch`, değişikliklerinizi bir takma adla gönderebilirsiniz:

   ```
   $ git push overleaf my-branch:master
   ```
7. Projeyi Overleaf'te ziyaret edin. Değişiklikleriniz orada görünmelidir. (Hangi dosyanın ana belge dosyası olarak ayarlandığını bulmak için Overleaf Proje menüsünü açmanız ve muhtemelen bu ilk seçimi değiştirmeniz gerekebilir.)

### Git commit'leri ve Overleaf Git entegrasyonu

Overleaf'in dahili bir [Geçmiş sistemi](/latex/tr/daha-fazla-konu/49-using-the-history-feature.md) vardır; bu sistem bir Overleaf projesi içinde eş zamanlı işbirliğine olanak tanır. Bu Git ile aynı şey değildir, bu nedenle Overleaf Git entegrasyonu esasen Overleaf'in geçmiş ve sürüm oluşturma mekanizmasının Git'e bir çevirisidir. Bu, birçok Git etkin kullanım senaryosuna olanak tanır, ancak Overleaf içinde tam bir Git uygulamasıymış gibi çalışmanıza izin vermez.

#### Commit'ler ne zaman oluşturulur?

Bir `pull` ya da `fetch` komutu verdiğinizde, mevcut proje durumu için henüz bir commit yoksa dinamik olarak yeni bir commit oluşturulur. Siz `push` yerel deponuzdaki dosyaları Overleaf uzak deposuna gönderdiğinizde, o anda da bir commit oluşturulur ve bu, Overleaf projesinin gelecekte yapacağınız tüm klonlamalarda görünür olacaktır. Siz veya başkaları Overleaf'te düzenleme yaparken, ihtiyaç duyulana kadar commit'ler otomatik olarak oluşturulmaz.

#### Commit zorlamak

Overleaf geçmişinin belirli bir noktasında bir commit'in oluşturulmasını zorlamak isterseniz, bunu [bir sürümü etiketleyerek](/latex/tr/daha-fazla-konu/49-using-the-history-feature.md) yapabilirsiniz. Etiketlenen sürüm, hemen bir git pull yapmasanız bile kendi commit karma değerine sahip olur. Bir etiketten yalnızca, etiketlenen Overleaf geçmişi noktasından daha yakın zamanda başka commit'ler oluşturulmamışsa commit oluşturulur.

#### Yazarlığı izleme

Overleaf Git entegrasyonundan gelen commit'lerin tam zamanında oluşturulması, commit oluşturulmadan önce Overleaf tarafında birden fazla değişiklik yapılmışsa, en son değişikliği yapan kişinin commit'in yazarı olarak listelenmesi anlamına gelir.

Ortak yazarlarla çalışırken, her bir işbirlikçi önemli bir güncellemeyi tamamladıktan sonra bir etiket oluşturmak (bir commit üretmek) yararlıdır - bu, Git'te görülebilen ve Overleaf'te gerçekleşen değişiklikleri en yakından yansıtan bir commit dizisi oluşturur.

### Başka bir uzak depo ile eşitleme

Overleaf'in Git entegrasyonu, Overleaf projenizin yerel depolar için uzak depo olarak çalışmasına olanak tanır. Ancak, Overleaf projenizi GitHub, GitLab veya başka bir Git barındırma hizmetinde bulunan başka bir uzak depo ile eşitlemek isteyebilirsiniz.

Projenizi GitHub üzerinde barındırılan bir depoyla eşitliyorsanız (<https://github.com/>), Overleaf'in doğrudan [GitHub eşitleme](/latex/tr/bilgi-bankasi/044-github-synchronization.md) özelliğini kullanmak isteyebilirsiniz.

Projenizi GitLab, GitHub Enterprise veya başka bir ana makine ile eşitliyorsanız, ara bir yerel depo kurmak için Overleaf Git entegrasyonunu kullanabilirsiniz.

Yukarıdaki talimatları izleyerek [projenizi klonlama](#cloning-your-project-as-a-local-repository) ya da [bir projeyi mevcut bir depoya bağlama](#creating-an-overleaf-project-from-an-existing-git-repository)işleminden sonra, Overleaf'ten değişiklikleri gönderip/alabileceğiniz bir yerel deponuz olacaktır. Daha sonra bu depoya, barındırılan deponuzu işaret eden ikinci bir uzak depo ekleyebilirsiniz. Yerel deponuzun hem Git barındırıcınızı hem de Overleaf projesini işaret etmesi için iki uzak depoya sahip olması gerekir.

Overleaf projesi ile Git deponuz arasında doğrudan bir bağlantı olmayacak olsa da, bu onları eşitlenmiş halde tutmanıza olanak tanır.

![Git other remote.png](/files/3248caae464ee6ddf80b8287c90078ad10371b05)

### Bir Overleaf projesini Git alt modülü olarak ekleme

Overleaf'teki her proje bağımsız bir Git deposu gibi davranır, ancak bu tür birkaç projeyi tek bir Git deposunda düzenlemek istiyorsanız, her bir projenin deposunu normal şekilde bir Git alt modülü olarak ekleyebilirsiniz. Daha sonra her alt modül deponuzu Overleaf'e ayrı ayrı gönderebilir ve çekebilir, yine de bunları daha büyük bir projede alt modüller olarak birlikte toplayabilirsiniz.

**Not:** Overleaf projeleri başka bir deponun alt modülü olabilirken, Overleaf projelerinin kendileri başka alt modüller içeremez.

### Bilinen Sınırlamalar

**Dallar**: Overleaf Git sistemi dallanmayı desteklemez.

**Sembolik bağlantılar**: Overleaf Git sistemi sembolik bağlantıları iyi işlemez. Bir sembolik bağlantı bir Overleaf projesine gönderilebilir, ancak normal bir dosyaya dönüştürülür ve proje bir sonraki çekildiğinde yerel sembolik bağlantının üzerine yazılır.

**Etiketler**: Overleaf Git sistemi etiketlemeyi desteklemez.

**Dosya izinleri**: Overleaf Git sistemi çalıştırma izinlerini korumaz. Bunun için geçici bir çözüm olarak şu komutu çalıştırabilirsiniz `git config core.fileMode false` deponun yerel klonunuzda. Ardından etkilenen dosyalardaki çalıştırma izinlerini sıfırlayabilirsiniz. Bu şekilde sonraki Git işlemlerinde tekrar değiştirilmezler.

**Git LFS:** Overleaf projeleri Git Large File Storage'u desteklemez.

**Git alt modülleri:** Overleaf projeleri diğer depolar içinde Git alt modülü olarak çalışabilir, ancak başka Git alt modülleri içeremez. Diğer projelerdeki dosyalara başvurmak için [başka bir projeden ekle özelliğinin](/latex/tr/bilgi-bankasi/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md).

**Klasörleri yeniden adlandırma**: Bir kullanıcı bir klasörü yeniden adlandırır ve değişikliği Overleaf'e gönderirse, proje yeni klasörün yanı sıra eski adla boş bir klasörü de korur. (Örneğin, images/ klasörünü img/ olarak yeniden adlandırmak projede iki klasör bırakır: görüntü dosyalarını içeren img/ ve boş olacak images/. Bu, bir kullanıcı bir klasörü yeniden adlandırdığında ve aynı commit içinde eski klasörle aynı ada sahip yeni bir dosya oluşturduğunda sorunlara neden olabilir. Overleaf Git sistemi bu commit'i reddeder. Bu durumda, commit'i iki parçaya bölmenizi ve kalan klasörü silmenizi öneririz.)

**Dosyaları yeniden adlandırma ve taşıma:** Yerel deponuzdaki bir dosya yeniden adlandırması, Overleaf tarafında silme ve oluşturma işlemi haline gelir. Bu, Overleaf tarafında bir dosyayla ilişkili meta verilerin kaybına neden olabilir; izlenen değişikliklerin ve yorumların silinmesine yol açabilir. Git tarafında, Overleaf izlenen değişiklikleri veya yorumları olan dosyaları taşımak veya yeniden adlandırmak önerilmez.

**Değişiklikleri İzleme ve Yorumlar**: Ne yazık ki, Git'ten Overleaf'e yapılan gönderimler değişikliklerin izlenmesinin ve yorumların kaybına veya yer değiştirmesine neden olabilir; bu nedenle, Git'i aktif olarak kullanmayı, değişiklik izleme ve/veya yorum kullanımıyla birlikte kullanmanızı önermiyoruz.

### Sorun giderme

#### Depo bulunamadı hataları

Depo bulunamadı hatası görüyorsanız, büyük olasılıkla yanlış URL kullanılıyordur. Doğru URL, proje içindeki Menü'de Git seçeneğine tıklanarak bulunabilir. Overleaf cloud için Git entegrasyonu premium bir özelliktir; bu nedenle yalnızca proje sahibinin Overleaf'e ücretli bir aboneliği varsa veya özelliğe erişim verilmişse (örneğin erken beta testine katılarak) kullanılabilir.

#### Kimlik doğrulama başarısız hataları

Lütfen şunun için sorun giderme talimatlarına bakın: [Git entegrasyonu kimlik doğrulama belirteçleri](/latex/tr/bilgi-bankasi/042-git-integration-authentication-tokens.md) ya da [Git entegrasyonu parola kimlik doğrulaması](/latex/tr/bilgi-bankasi/043-git-integration-password-based-authentication.md) kullandığınız oturum açma yöntemine bağlı olarak.

#### Hız sınırları

Git Bridge hız sınırlaması, Git işlemleri manuel olarak yürütüldüğünde genellikle oluşmaz. Bazı Git istemcileri, uzak depolarda değişiklikler için otomatik olarak yoklama yapacak şekilde yapılandırılabilir; bu da bazı durumlarda hız sınırlama hatalarına yol açabilir. Genellikle herhangi bir otomatik yoklamayı devre dışı bırakmak veya Git işlemlerinin sıklığını azaltmak bu sorunları çözer.

#### Başvuruları gönderememe

Uzak projeye bazı başvuruları gönderememe durumu şu nedenlerden kaynaklanabilir: [bir projenin dosya boyutu veya dosya sayısı sınırlarının aşılması](/latex/tr/bilgi-bankasi/119-overleaf-plan-limits.md) veya desteklenmeyen dosya türlerinin (örneğin sembolik bağlantılar veya LFS) dahil edilmesi. Commit'teki sorunlu dosyaları belirlemek için lütfen yukarıda listelenen bilinen sınırlamaları inceleyin.

Bazı durumlarda, **postBuffer** ayarını artırmak, yerel deponuzdan Overleaf projesine başvuruları gönderme hatalarını giderebilir.

İlk olarak, mevcut ayarınızı şu komutla kontrol edebilirsiniz:

```
     git config http.postBuffer
```

Çıktı yoksa, bu varsayılan 1 MB değerinin kullanıldığı anlamına gelir.

Ardından şu komutu deneyin

```
     git config --global http.postBuffer 10485760
```

bu da değeri 10 MB olarak ayarlayacaktır.

Şimdi commit'i göndermeyi deneyebilirsiniz (ister orijinal projeye ister yeni projeye). Bu işe yaramazsa, önceki ayarınıza geri dönebilir veya ayarı şu komutla kaldırabilirsiniz:

```
     git config --global --unset http.postBuffer
```

#### Zaman aşımı

Çok sayıda değişiklik içeren Git commit'leri zaman aşımına yol açabilir. Bir zaman aşımıyla karşılaşırsanız, lütfen commit'i daha küçük değişikliklere bölmeyi deneyin. Sorun devam ederse, **postBuffer** ayarını yukarıda açıklandığı gibi 10 MB'a çekmeyi düşünün.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/tr/bilgi-bankasi/040-git-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
