Ön Gereksinimler
- Git’in Kurulması: Git’i bilgisayarınıza kurmanız gerekiyor. Git’i resmi web sitesinden işletim sisteminize uygun olarak indirebilirsiniz.
- GitHub Hesabı: Bir GitHub hesabınızın olması gerekiyor. Yoksa GitHub üzerinden ücretsiz bir hesap oluşturabilirsiniz.
Adım Adım Projenizi GitHub’a Yükleme
1. Git Deposu Oluşturma
A. Proje Klasörünüzü Hazırlayın
- Unity projenizin bulunduğu klasöre gidin. Bu klasör genellikle proje ismiyle adlandırılmıştır ve içinde
Assets,Library,ProjectSettingsgibi klasörler bulunur.
B. Git Bash veya Komut İstemi’ni Açın
- Windows kullanıyorsanız, proje klasörünüzün içine girin, boş bir alana Shift + Sağ Tık yapın ve Git Bash Here seçeneğine tıklayın.
- Mac veya Linux kullanıyorsanız, Terminal’i açıp proje klasörüne
cd /path/to/your/projectkomutuyla gidin.
2. .gitignore Dosyası Oluşturma
Unity projeleri, bazı büyük ve gereksiz dosyalar içerir. Bu dosyaları Git’e dahil etmemek için bir .gitignore dosyası oluşturmalısınız.
A. .gitignore Dosyasını Oluşturun
- Proje klasörünüzün içinde yeni bir metin dosyası oluşturun ve adını
.gitignoreolarak ayarlayın.- Windows’ta yeni bir metin belgesi oluşturup adını
.gitignoreyapabilirsiniz (dosya uzantısını.txtolmamasına dikkat edin). - Mac veya Linux’ta Terminal’de
touch .gitignorekomutunu kullanabilirsiniz.
- Windows’ta yeni bir metin belgesi oluşturup adını
B. .gitignore Dosyasının İçeriğini Ayarlayın
- .gitignore dosyasını bir metin editörüyle açın (örneğin, Notepad, Notepad++, Visual Studio Code).
- Aşağıdaki içeriği dosyaya yapıştırın ve kaydedin:
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
[Uu]serSettings/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
.DS_Store
.idea/
.vs/
.vscode/
- Bu dosya, Git’in bu klasör ve dosyaları izlemesini engeller. Böylece gereksiz veya büyük dosyalar depoya yüklenmez.
3. Git Deposu Başlatma
A. Git Deposu Oluşturun
- Terminal veya Git Bash’te aşağıdaki komutu yazın:
git init
- Bu komut, proje klasörünüzde yeni bir Git deposu oluşturur.
B. Tüm Dosyaları Git’e Ekleme
- Aşağıdaki komutu kullanarak tüm dosyaları ekleyin
git add .
- Bu komut,
.gitignoredosyasında belirtilmeyen tüm dosyaları ekler.
C. İlk Commit’i Yapma
- Değişiklikleri commit etmek için aşağıdaki komutu kullanın:
git commit -m "İlk commit"
- Bu komut, dosyaları yerel depoya kaydeder.
4. GitHub’da Yeni Bir Depo Oluşturma
A. GitHub’da Yeni Depo Oluşturun
- GitHub hesabınıza giriş yapın.
- Sağ üst köşedeki + işaretine tıklayın ve New repository seçeneğini seçin.
- Depo ismi, açıklama gibi bilgileri girin ve Create repository butonuna tıklayın.
B. Uzaktan Depoyu Yerel Depoyla Bağlama
- GitHub, yeni depo oluşturduktan sonra size bazı komutlar gösterecektir. Aşağıdaki komutu kullanarak uzak depoyu yerel depoya ekleyin:
git remote add origin https://github.com/kullanıcı_adınız/depo_adınız.git
kullanıcı_adınızvedepo_adınızkısımlarını kendi bilgilerinize göre düzenleyin.
C. Ana Branşı Ayarlama
- Ana branşı
mainolarak ayarlamak için:
git branch -M main
5. Projeyi GitHub’a Gönderme
- Aşağıdaki komutu kullanarak dosyaları GitHub’a yükleyin:
git push -u origin main
- Komut çalıştığında, sizden GitHub kullanıcı adınızı ve şifrenizi girmeniz istenebilir. Eğer iki faktörlü kimlik doğrulama kullanıyorsanız, bir Personal Access Token oluşturmanız gerekebilir.
6. Kodlarınızı İnceleme
- Kodlarınız artık GitHub’da yüklü olacak.
- GitHub üzerinden kodlarınızı görüntüleyebilir ve paylaşabilirsiniz.
- Kodlarınızın linkini paylaşırsanız, ben de kodları inceleyebilir ve hata kontrolü yapabilirim.
Notlar ve Öneriler
- Dosya Boyutları: Unity projeleri büyük dosyalar içerebilir. GitHub’da dosya boyutu sınırlaması vardır (100 MB). Eğer projede büyük dosyalar varsa, Git Large File Storage (LFS) kullanmanız gerekebilir.
- Sürüm Kontrolü: Projenizi GitHub’a yüklemek, sürüm kontrolü yapmanıza ve kodlarınızı güvende tutmanıza yardımcı olur.
Ek Bilgi: Git ve GitHub Kullanımı
- Git Nedir?: Git, dosyalarınızın sürümlerini takip eden bir versiyon kontrol sistemidir.
- GitHub Nedir?: GitHub, Git depolarınızı çevrimiçi olarak barındırabileceğiniz bir platformdur.
- Komutları Nereye Yazacaksınız?: Git komutlarını, proje klasörünüzde Terminal (Mac/Linux) veya Git Bash (Windows) üzerinden çalıştırabilirsiniz.
Olası Sorunlar ve Çözümleri 1
- Git Kurulu Değilse: Git yüklü değilse, komutları çalıştıramazsınız. Git’i buradan indirip kurun.
- Dosya İsimleri ve Uzantıları:
.gitignoredosyasının uzantısı olmamalıdır. Eğer.gitignore.txtgibi bir isimle kaydederseniz, çalışmaz. - Kimlik Doğrulama Sorunları: GitHub’a push yaparken kullanıcı adı ve şifrenizle ilgili sorun yaşarsanız, Personal Access Token kullanmanız gerekebilir. Bunu GitHub ayarlarından oluşturabilirsiniz.
Olası Sorunlar ve Çözümleri 2
1. “Filename too long” Hatası
Bu hata, dosya yolunun uzun olmasından kaynaklanıyor. Özellikle Windows işletim sisteminde, dosya yolu uzunluk sınırını aşıyorsa bu hatayı alabilirsiniz.
Çözüm:
- Git Ayarını Değiştirme: Windows’ta uzun dosya yollarını desteklemek için aşağıdaki komutu çalıştırın:
git config --system core.longpaths true
- Alternatif Çözüm:
.gitignoredosyasınaLibraryklasörünü ekleyerek bu klasördeki dosyaları Git’e eklemeyi engelleyebilirsiniz. Aşağıdaki adımları izleyin:.gitignoredosyasını açın veLibrary/satırını ekleyin.- Bu adım, Library klasöründeki dosyaları Git’in izlemesini engeller ve daha sonra commit işlemlerinde bu hatayı önler.
2. “git commit -m” Komutundaki Sorunlar
git comit -m "ilk commit"
Burada commit yerine comit yazmışsınız. Doğru komut şu şekilde olmalı:
git commit -m "ilk commit"
3. “src refspec main does not match any” Hatası
Bu hata, “main” dalının henüz oluşturulmamış olması nedeniyle ortaya çıkar. Bu durumu çözmek için önce bir commit yapmalısınız.
Çözüm:
- commit İşlemini Doğru Şekilde Yapın:
- Eğer commit yapmadıysanız, aşağıdaki komutları kullanarak dosyaları ekleyin ve commit yapın:
git add .
git commit -m "İlk commit"
Ana Dalı Güncelleyin:
- Eğer
git branch -M mainkomutunu uyguladıysanız ve yine de bu hatayı alıyorsanız,maindalının oluştuğundan emin olun.
Push İşlemini Tekrar Deneyin:
- Başarılı bir şekilde commit yaptıktan sonra aşağıdaki komutla dosyaları GitHub’a gönderin:
git push -u origin main
Genel Özet:
core.longpathsayarını etkinleştirin..gitignoredosyasınaLibrary/ekleyin.- Commit işlemini doğru bir şekilde yapın.
git push -u origin mainkomutuyla gönderin.
Bu adımları izleyerek tüm hataları çözebilir ve projeyi başarılı şekilde GitHub’a yükleyebilirsiniz.
4. “could not lock config file” Hatası
Bu hata, gitconfig dosyasını değiştirmek için yönetici iznine ihtiyaç duyduğunuzu gösteriyor. core.longpaths ayarını etkinleştirebilmek için komutu yönetici izinleriyle çalıştırmanız gerekiyor.
Çözüm: Yönetici İzniyle Git Bash Çalıştırma
- Git Bash’ı Yönetici Olarak Açın:
- Git Bash simgesine sağ tıklayın.
- “Run as Administrator” (Yönetici olarak çalıştır) seçeneğini tıklayın.
- Komutu Tekrar Çalıştırın:
- Git Bash yönetici olarak açıldıktan sonra, şu komutu tekrar girin:
git config --system core.longpaths true
Bu komut, longpaths ayarını etkinleştirir ve uzun dosya yoluyla ilgili hatayı önlemeye yardımcı olur.
5. “fatal: Unable to create” Hatası
Bu hata, .git/index.lock dosyasının mevcut olduğunu ve Git işleminin devam etmesini engellediğini gösterir. Bu durum genellikle başka bir Git işlemi yarım kaldığında veya kilitlendiğinde oluşur. Aşağıdaki adımları takip ederek bu sorunu çözebilirsiniz:
Çözüm Adımları
- Kilitleme Dosyasını Manuel Olarak Kaldırın:
- Proje dizininize gidin ve
index.lockdosyasını bulun. Bu dosyaC:/Users/NUR/.git/klasöründe yer alır. .git/index.lockdosyasını silin.
- Proje klasörünü açın.
- Gizli dosya ve klasörleri gösterme seçeneğini etkinleştirin (Windows Gezgini > Görünüm > Gizli öğeler).
.gitklasörüne girin veindex.lockdosyasını silin.
- Proje dizininize gidin ve
- Git İşlemini Tekrar Deneyin:
- Dosyayı sildikten sonra, Git komutlarını tekrar çalıştırabilirsiniz:
git add .
git commit -m "İlk commit"
Bu işlem, kilitleme dosyasını kaldırarak Git işlemlerinin sorunsuz devam etmesini sağlayacaktır. Eğer bu sorun devam ederse, bilgisayarınızı yeniden başlatmayı da deneyebilirsiniz, çünkü bazı durumlarda arka planda çalışan Git işlemleri yeniden başlatılarak kapanır.

