GitHub'da bir repo oluşturdunuz ve artık bilgisayarınızdan dosya düzenlemek istiyorsunuz. Bunun için en kolay başlangıç yollarından biri, mevcut depoyu clone ile bilgisayara almak ve yaptığınız commit'i push ile geri göndermektir. Bu yazıda içinde sadece README bulunan bir deneme deposu kullanacağız.

Kod editörü ve dallanma şeması gösteren çalışma ortamı

Başlamadan önce Git kurulu olsun ve GitHub hesabınızda gerçekten size ait veya yazma yetkiniz bulunan bir repo bulunsun. Aşağıdaki örnekte geçen kullanıcı adı ve repo adı temsilidir; bunları kendi deponuzun Code menüsündeki adresle değiştirin. Rastgele birinin reposuna push yapma yetkiniz olduğunu varsaymayın.

Clone ne yapar?

git clone, uzak deponun yerel bir kopyasını oluşturur. Bu kopya dosyaların yanında Git geçmişini de içerir ve kaynak deponun adresini genellikle origin adlı uzak bağlantı olarak kaydeder. Oluşturulacak klasörün adını ve bulunduğunuz dizini kontrol edin; aynı isimde mevcut bir klasör varsa Git işlemi durdurabilir.

TERMINALonur@web:~
git clone https://github.com/KULLANICI/github-deneme.git
cd github-deneme
git status
git remote -v

KULLANICI ifadesini gerçek hesap adınızla değiştirin. git remote -v, Git'in kayıtlı uzak adreslerini gösterir. Çıktıyı paylaşmadan önce adresin içine yanlışlıkla gizli bilgi koymadığınızdan emin olun. Depo private ise görüntüleme için de oturum açmanız gerekebilir.

Bir dosyayı değiştirin

Klonlanan klasördeki README.md dosyasını metin düzenleyicinizle açın. Yeni bir satır ekleyip kaydedin. Örneğin deneme yaptığınızı anlatan bir cümle yeterlidir. Sonra terminalde:

TERMINALonur@web:~
git status
git diff

İlk komut değişen dosyayı, ikinci komut ise henüz hazırlık alanına eklenmemiş satır değişikliklerini görmenizi sağlar. Çıktıda yalnızca beklediğiniz değişikliğin olduğundan emin olun. Şifre veya erişim anahtarı görüyorsanız bunları commit'e eklemeyin; öncelikle kaynağı ve güvenli biçimde kaldırma adımlarını belirleyin.

Değişikliği seçin ve commit oluşturun

TERMINALonur@web:~
git add README.md
git diff --cached
git commit -m "README açıklamasını güncelle"

git diff --cached, hazırlanmış değişiklikleri incelemenizi sağlar. Commit yalnızca seçili içeriği yerel geçmişe kaydeder. Son adımda yazar kimliği hatası alırsanız Git'in yerel user.name ve user.email ayarlarını kontrol edin; bunlar GitHub parolanız değildir.

Push: yerel kaydı uzak depoya gönderin

TERMINALonur@web:~
git push

Klonladığınız depo ve dalın uzak bağlantısı normal biçimde kurulmuşsa Git commit'i ilgili uzak dala göndermeyi dener. Ardından GitHub'da depo sayfasını yenileyerek README'deki değişikliği ve commit geçmişini kontrol edin.

Push sırasında kimlik doğrulama istenebilir. HTTPS için GitHub Desktop, Git Credential Manager veya GitHub CLI gibi araçlar iş akışına göre kullanılabilir; SSH de bir alternatiftir. Git işlemlerinde hesap parolası ile doğrudan parola tabanlı doğrulama kullanılmaz. Token kullanmanız gerekiyorsa onu parola gibi koruyun; komutlara, ekran görüntülerine ve repo dosyalarına yapıştırmayın.

Push reddedilirse hemen zorlamayın

“Yetkiniz yok” hatasında doğru hesaba, doğru uzak adrese ve yazma iznine sahip olup olmadığınıza bakın. Uzakta sizden sonra yeni commit varsa Git gönderimi reddedebilir; önce uzaktaki değişikliklerin ne olduğunu inceleyin ve ekibinizin kullandığı güvenli birleştirme yolunu izleyin. Hata görür görmez --force kullanmak başkalarının geçmişini etkileyebilir.

origin adında bağlantı yoksa veya beklediğiniz adres görünmüyorsa yanlış klasörde ya da farklı bir depoda olabilirsiniz. git status ve git remote -v ile neye baktığınızı doğrulamak, rastgele yeni komutlar denemekten daha faydalıdır.

Clone ile indirme arasındaki fark

GitHub'dan ZIP indirerek dosyaları alabilirsiniz; ancak bu, normal bir klonlama gibi Git geçmişi ve uzak bağlantıyla çalışmanızı sağlamaz. Değişiklikleri Git akışıyla takip etmek ve göndermek istediğinizde klonlama daha uygundur.

Bu küçük alıştırmada yolu tamamladık: clone → düzenle → kontrol et → add → commit → push. Bir sonraki çalışmanızda önce doğru repo ve dalda olduğunuzu kontrol etmek, bu dizinin en değerli alışkanlıklarından biri olacak.

Kaynaklar: GitHub: Depo klonlama · GitHub: Kimlik doğrulama