Ö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
,ProjectSettings
gibi 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/project
komutuyla 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ı
.gitignore
olarak ayarlayın.- Windows’ta yeni bir metin belgesi oluşturup adını
.gitignore
yapabilirsiniz (dosya uzantısını.txt
olmamasına dikkat edin). - Mac veya Linux’ta Terminal’de
touch .gitignore
komutunu 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,
.gitignore
dosyası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ız
vedepo_adınız
kısımlarını kendi bilgilerinize göre düzenleyin.
C. Ana Branşı Ayarlama
- Ana branşı
main
olarak 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ı:
.gitignore
dosyasının uzantısı olmamalıdır. Eğer.gitignore.txt
gibi 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:
.gitignore
dosyasınaLibrary
klasörünü ekleyerek bu klasördeki dosyaları Git’e eklemeyi engelleyebilirsiniz. Aşağıdaki adımları izleyin:.gitignore
dosyası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 main
komutunu uyguladıysanız ve yine de bu hatayı alıyorsanız,main
dalı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.longpaths
ayarını etkinleştirin..gitignore
dosyasınaLibrary/
ekleyin.- Commit işlemini doğru bir şekilde yapın.
git push -u origin main
komutuyla 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.lock
dosyasını bulun. Bu dosyaC:/Users/NUR/.git/
klasöründe yer alır. .git/index.lock
dosyası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).
.git
klasörüne girin veindex.lock
dosyası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.