You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/tr/1-getting-started-lessons/2-github-basics/README.md

19 KiB

GitHub'a Giriş

Bu ders, kodunuzu barındırmak ve değişiklikleri yönetmek için kullanılan GitHub'ın temel bilgilerini kapsar.

GitHub'a Giriş

Sketchnote: Tomomi Imura

Ders Öncesi Test

Ders öncesi testi

Giriş

Bu derste şunları ele alacağız:

  • Makinenizde yaptığınız çalışmaları takip etmek
  • Başkalarıyla projeler üzerinde çalışmak
  • ık kaynak yazılıma nasıl katkıda bulunulacağı

Ön Koşullar

Başlamadan önce, Git'in yüklü olup olmadığını kontrol etmeniz gerekir. Terminale şu komutu yazın:
git --version

Eğer Git yüklü değilse, Git'i indirin. Ardından, terminalde yerel Git profilinizi ayarlayın:

  • git config --global user.name "adınız"
  • git config --global user.email "e-posta adresiniz"

Git'in zaten yapılandırılmış olup olmadığını kontrol etmek için şu komutu yazabilirsiniz:
git config --list

Ayrıca bir GitHub hesabına, bir kod düzenleyiciye (örneğin Visual Studio Code) ve terminalinizi (veya komut istemcisini) açmanız gerekecek.

github.com adresine gidin ve henüz bir hesabınız yoksa bir hesap oluşturun ya da giriş yaparak profilinizi doldurun.

GitHub, dünyadaki tek kod deposu değildir; başka seçenekler de vardır, ancak GitHub en bilinenidir.

Hazırlık

Yerel makinenizde (dizüstü bilgisayar veya PC) bir kod projesi içeren bir klasöre ve başkalarının projelerine nasıl katkıda bulunacağınızı göstermek için bir örnek olarak kullanılacak bir GitHub'da halka açık bir depoya ihtiyacınız olacak.


Kod Yönetimi

Diyelim ki yerel olarak bir kod projesi içeren bir klasörünüz var ve ilerlemenizi Git - sürüm kontrol sistemi - kullanarak takip etmeye başlamak istiyorsunuz. Bazı insanlar Git kullanmayı, gelecekteki kendinize bir aşk mektubu yazmaya benzetir. Günler, haftalar veya aylar sonra commit mesajlarınızı okuduğunuzda, neden bir karar verdiğinizi hatırlayabilir veya bir değişikliği "geri alabilirsiniz" - tabii ki iyi "commit mesajları" yazdığınızda.

Görev: Bir Depo Oluşturun ve Kodu Commit Edin

Videoyu izleyin

Git ve GitHub Temelleri Videosu

  1. GitHub'da bir depo oluşturun. GitHub.com'da, depolar sekmesinde veya sağ üstteki gezinme çubuğundan yeni depo düğmesini bulun.

    1. Depoya bir ad verin.
    2. Depo oluştur seçeneğini seçin.
  2. Çalışma klasörünüze gidin. Terminalinizde, takip etmek istediğiniz klasöre (dizin olarak da bilinir) geçin. Şunu yazın:

    cd [name of your folder]
    
  3. Bir git deposu başlatın. Projenizde şunu yazın:

    git init
    
  4. Durumu kontrol edin. Depo durumunu kontrol etmek için şunu yazın:

    git status
    

    Çıktı şu şekilde görünebilir:

    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
    
         modified:   file.txt
         modified:   file2.txt
    

    Genellikle git status komutu, depoya kaydedilmeye hazır olan veya üzerinde değişiklik yapılan dosyalar gibi bilgileri size söyler.

  5. Tüm dosyaları takibe ekleyin
    Bu işlem, dosyaları sahneleme alanına eklemek olarak da adlandırılır.

    git add .
    

    git add ve . argümanı, tüm dosyalarınızı ve değişikliklerinizi takibe ekler.

  6. Seçili dosyaları takibe ekleyin

    git add [file or folder name]
    

    Bu, tüm dosyaları bir kerede commit etmek istemediğinizde yalnızca seçili dosyaları sahneleme alanına eklemenize yardımcı olur.

  7. Tüm dosyaları sahneleme alanından çıkarın

    git reset
    

    Bu komut, tüm dosyaları bir kerede sahneleme alanından çıkarmanıza yardımcı olur.

  8. Belirli bir dosyayı sahneleme alanından çıkarın

    git reset [file or folder name]
    

    Bu komut, yalnızca belirli bir dosyayı sahneleme alanından çıkarmanıza yardımcı olur.

  9. Çalışmanızı kalıcı hale getirin. Bu noktada dosyaları sahneleme alanına eklediniz. Git'in dosyalarınızı takip ettiği bir yer. Değişikliği kalıcı hale getirmek için dosyaları commit etmeniz gerekir. Bunu yapmak için git commit komutunu kullanarak bir commit oluşturun. Bir commit, deponuzun geçmişinde bir kayıt noktasıdır. Bir commit oluşturmak için şunu yazın:

    git commit -m "first commit"
    

    Bu, tüm dosyalarınızı "ilk commit" mesajıyla commit eder. Gelecekteki commit mesajlarınızda, yaptığınız değişiklik türünü açıklamak için daha açıklayıcı bir açıklama kullanmak isteyeceksiniz.

  10. Yerel Git deponuzu GitHub ile bağlayın. Bir Git deposu makinenizde iyidir, ancak bir noktada dosyalarınızın bir yedeğini bir yerde almak ve ayrıca diğer insanları deponuzda sizinle çalışmaya davet etmek istersiniz. Bunu yapabileceğiniz harika bir yer GitHub'dır. Daha önce GitHub'da bir depo oluşturduğumuzu hatırlayın, bu yüzden yapmamız gereken tek şey yerel Git depomuzu GitHub ile bağlamaktır. git remote add komutu bunu yapacaktır. Şu komutu yazın:

    Not: Komutu yazmadan önce GitHub depo sayfanıza gidin ve depo URL'sini bulun. Aşağıdaki komutta https://github.com/username/repository_name.git yerine GitHub URL'nizi kullanın.

    git remote add origin https://github.com/username/repository_name.git
    

    Bu, daha önce oluşturduğunuz GitHub deposunu işaret eden "origin" adlı bir uzaktan bağlantı oluşturur.

  11. Yerel dosyaları GitHub'a gönderin. Şimdiye kadar yerel depo ile GitHub deposu arasında bir bağlantı oluşturduk. Bu dosyaları GitHub'a göndermek için şu komutu kullanın:

    Not: Varsayılan olarak dal adınız main'den farklı olabilir.

    git push -u origin main
    

    Bu, "main" dalınızdaki commit'lerinizi GitHub'a gönderir.

  12. Daha fazla değişiklik eklemek için. Değişiklik yapmaya ve bunları GitHub'a göndermeye devam etmek istiyorsanız, şu üç komutu kullanmanız yeterlidir:

    git add .
    git commit -m "type your commit message here"
    git push
    

    İpucu: .gitignore dosyasını benimsemek isteyebilirsiniz. Bu, GitHub'da takip etmek istemediğiniz dosyaların görünmesini engeller - örneğin, aynı klasörde sakladığınız ancak bir genel depoda yeri olmayan not dosyası gibi. .gitignore dosyaları için şablonları .gitignore templates adresinde bulabilirsiniz.

Commit Mesajları

Harika bir Git commit başlık satırı şu cümleyi tamamlar:
Eğer uygulanırsa, bu commit <buraya başlık satırınız> yapacaktır.

Başlık için emir kipinde, şimdiki zamanı kullanın: "değiştir" (changed veya changes değil).
Başlıkta olduğu gibi, gövdede (isteğe bağlı) de emir kipinde, şimdiki zamanı kullanın. Gövde, değişikliğin motivasyonunu ve bunu önceki davranışla karşılaştırmayı içermelidir. Nedeni açıklıyorsunuz, nasılı değil.

GitHub'da biraz dolaşmak için birkaç dakikanızı ayırın. Gerçekten harika bir commit mesajı bulabilir misiniz? Çok minimal bir tane bulabilir misiniz? Commit mesajında iletilmesi gereken en önemli ve faydalı bilgilerin neler olduğunu düşünüyorsunuz?

Görev: İşbirliği Yapın

GitHub'a bir şeyler koymanın ana nedeni, diğer geliştiricilerle işbirliği yapmayı mümkün kılmaktır.

Başkalarıyla Projeler Üzerinde Çalışmak

Videoyu izleyin

Git ve GitHub Temelleri Videosu

Depo sayfanızda, Insights > Community sekmesine giderek projenizin önerilen topluluk standartlarına nasıl uyduğunu görebilirsiniz.

GitHub deponuzu geliştirebilecek bazı şeyler şunlardır:

  • ıklama. Projeniz için bir açıklama eklediniz mi?
  • README. Bir README eklediniz mi? GitHub, bir README yazma konusunda rehberlik sağlar.
  • Katkı Kılavuzu. Projenizin bir katkı kılavuzu var mı?
  • Davranış Kuralları. Bir Davranış Kuralları eklediniz mi?
  • Lisans. Belki de en önemlisi, bir lisans eklediniz mi?

Tüm bu kaynaklar, yeni ekip üyelerinin projeye dahil olmasına fayda sağlar. Ve bunlar genellikle yeni katkıda bulunanların, zamanlarını harcamak için doğru yerin sizin projeniz olup olmadığını öğrenmek için kodunuza bakmadan önce incelediği şeylerdir.

README dosyaları, hazırlanması zaman alsa da, genellikle meşgul bakımcılar tarafından ihmal edilir. Özellikle açıklayıcı bir README örneği bulabilir misiniz? Not: İyi README'ler oluşturmanıza yardımcı olacak araçlar vardır, bunları denemek isteyebilirsiniz.

Görev: Kod Birleştirin

Katkı belgeleri, insanların projeye katkıda bulunmasına yardımcı olur. Hangi tür katkılara ihtiyaç duyduğunuzu ve sürecin nasıl işlediğini açıklar. Katkıda bulunanlar, GitHub'daki deponuza katkıda bulunabilmek için bir dizi adımı takip etmek zorunda kalacaklar:

  1. Depoyu çatallama. İnsanların projenizi çatallamasını isteyeceksiniz. Çatallama, deponuzun GitHub profillerinde bir kopyasını oluşturmak anlamına gelir.
  2. Klonlama. Daha sonra projeyi yerel makinelerine klonlayacaklar.
  3. Dal oluşturma. Çalışmaları için bir dal oluşturmalarını isteyeceksiniz.
  4. Değişikliklerini bir alana odaklama. Katkıda bulunanlardan katkılarını bir seferde bir şeye odaklamalarını isteyin - bu şekilde çalışmalarını birleştirme şansınız daha yüksek olur. Örneğin, bir hata düzeltmesi yazdıklarını, yeni bir özellik eklediklerini ve birkaç testi güncellediklerini hayal edin - ya 3'ten 2'sini veya 1'ini uygulamak istiyorsanız?

Dalların iyi kod yazma ve gönderme açısından özellikle kritik olduğu bir durumu hayal edin. Hangi kullanım durumlarını düşünebilirsiniz?

Not: Dünyada görmek istediğiniz değişim olun ve kendi çalışmalarınız için de dallar oluşturun. Yaptığınız commit'ler, şu anda "checkout" yaptığınız dalda yapılacaktır. Hangi dalda olduğunuzu görmek için git status kullanın.

Bir katkıda bulunan iş akışını inceleyelim. Katkıda bulunanın zaten depoyu çatalladığını ve klonladığını ve yerel makinesinde çalışmaya hazır bir Git deposuna sahip olduğunu varsayalım:

  1. Dal oluşturma. Katkıda bulunmayı düşündükleri değişiklikleri içerecek bir dal oluşturmak için git branch komutunu kullanın:

    git branch [branch-name]
    
  2. Çalışma dalına geçiş yapın. Belirtilen dala geçin ve çalışma dizinini git switch ile güncelleyin:

    git switch [branch-name]
    
  3. Çalışma yapın. Bu noktada değişikliklerinizi eklemek istersiniz. Git'e bunu şu komutlarla bildirmeyi unutmayın:

    git add .
    git commit -m "my changes"
    

    Commit'inize iyi bir ad verdiğinizden emin olun, hem sizin hem de yardım ettiğiniz depo bakımcısı için.

  4. Çalışmanızı main dalıyla birleştirin. Bir noktada çalışmanızı tamamladınız ve bunu main dalındaki çalışmalarla birleştirmek istiyorsunuz. Bu arada main dalı değişmiş olabilir, bu yüzden önce aşağıdaki komutlarla en son sürüme güncellediğinizden emin olun:

    git switch main
    git pull
    

    Bu noktada, herhangi bir çatışmanın, yani Git'in değişiklikleri kolayca birleştiremediği durumların çalışma dalınızda gerçekleştiğinden emin olmak istersiniz. Bu nedenle şu komutları çalıştırın:

    git switch [branch_name]
    git merge main
    

    Bu, main dalındaki tüm değişiklikleri dalınıza getirir ve umarım sadece devam edebilirsiniz. Eğer edemezseniz, VS Code, Git'in kafasının karıştığı yerleri size gösterecek ve etkilenen dosyaları değiştirerek hangi içeriğin en doğru olduğunu belirteceksiniz.

  5. Çalışmanızı GitHub'a gönderin. Çalışmanızı GitHub'a göndermek iki şey anlamına gelir. Dalınızı deponuza göndermek ve ardından bir PR (Pull Request) açmak.

    git push --set-upstream origin [branch-name]
    

    Yukarıdaki komut, çatalladığınız depoda dalı oluşturur.

  6. Bir PR açın. Ardından, bir PR açmak istersiniz. Bunu, GitHub'daki çatalladığınız depo sayfasına giderek yapabilirsiniz. GitHub'da yeni bir PR oluşturmak isteyip istemediğinizi soran bir gösterge göreceksiniz, buna tıklayın ve commit mesajı başlığını değiştirebileceğiniz, daha uygun bir açıklama ekleyebileceğiniz bir arayüze yönlendirilirsiniz. Şimdi, çatalladığınız deponun bakımcısı bu PR'ı görecek ve parmaklar çapraz PR'ınızı takdir edip birleştirecek. Artık bir katkıda bulunan oldunuz, yaşasın :)

  7. Temizlik yapın. Bir PR'ı başarıyla birleştirdikten sonra temizlik yapmak iyi bir uygulama olarak kabul edilir. Yerel dalınızı ve GitHub'a gönderdiğiniz dalı temizlemek istersiniz. Öncelikle, yerel olarak şu komutla silin:

    git branch -d [branch-name]
    

    Ardından, GitHub'daki çatalladığınız depo sayfasına gidin ve az önce gönderdiğiniz uzak dalı kaldırın. Pull request terimi biraz garip gelebilir çünkü aslında değişikliklerinizi projeye "push" etmek istersiniz. Ancak, proje sahibi (maintainer) veya çekirdek ekip, değişikliklerinizi projenin "main" dalıyla birleştirmeden önce değerlendirmelidir. Yani aslında bir maintainer'dan değişiklik kararı talep ediyorsunuz.

Bir pull request, bir dalda yapılan değişiklikleri karşılaştırmak ve tartışmak için incelemeler, yorumlar, entegre testler ve daha fazlasını içeren bir yerdir. İyi bir pull request, kabaca bir commit mesajı ile aynı kuralları takip eder. Örneğin, çalışmanız bir sorunu çözdüğünde, issue tracker'daki bir soruya referans ekleyebilirsiniz. Bu, # işareti ve ardından sorunun numarası kullanılarak yapılır. Örneğin #97.

🤞Umarız tüm kontroller başarıyla geçer ve proje sahibi(leri) değişikliklerinizi projeye birleştirir🤞

GitHub'daki ilgili uzak dalda yapılan tüm yeni commit'leri mevcut yerel çalışma dalınıza güncelleyin:

git pull

ık Kaynağa Nasıl Katkıda Bulunulur?

Öncelikle, GitHub'da ilginizi çeken ve değişiklik yapmak istediğiniz bir depo (repo) bulalım. İçeriğini bilgisayarınıza kopyalamak isteyeceksiniz.

'Yeni başlayanlar için uygun' depoları bulmanın iyi bir yolu, good-first-issue etiketiyle arama yapmaktır.

Bir depoyu yerel olarak kopyalayın

Kod kopyalamanın birkaç yolu vardır. Bir yol, HTTPS, SSH veya GitHub CLI (Komut Satırı Arayüzü) kullanarak depoyu "klonlamaktır".

Terminalinizi açın ve depoyu şu şekilde klonlayın: git clone https://github.com/ProjectURL

Projede çalışmak için doğru klasöre geçin: cd ProjectURL

Ayrıca projeyi Codespaces, GitHub'ın entegre kod editörü / bulut geliştirme ortamı veya GitHub Desktop kullanarak açabilirsiniz.

Son olarak, kodu sıkıştırılmış bir klasör olarak indirebilirsiniz.

GitHub Hakkında Birkaç İlginç Bilgi

GitHub'daki herhangi bir genel depoyu yıldızlayabilir, izleyebilir ve/veya "fork" edebilirsiniz. Yıldızladığınız depoları sağ üstteki açılır menüde bulabilirsiniz. Bu, kod için bir tür yer imi gibidir.

Projelerde genellikle GitHub'daki "Issues" sekmesinde (aksi belirtilmedikçe) bir issue tracker bulunur. Burada insanlar projeyle ilgili sorunları tartışır. Pull Requests sekmesi ise devam eden değişikliklerin tartışıldığı ve incelendiği yerdir.

Projeler ayrıca forumlarda, e-posta listelerinde veya Slack, Discord veya IRC gibi sohbet kanallarında tartışmalara sahip olabilir.

Yeni GitHub deponuzda biraz dolaşın ve ayarları düzenlemek, deponuza bilgi eklemek ve bir proje (örneğin bir Kanban panosu) oluşturmak gibi birkaç şey deneyin. Yapabileceğiniz çok şey var!


🚀 Meydan Okuma

Bir arkadaşınızla eşleşerek birbirinizin kodu üzerinde çalışın. Ortak bir proje oluşturun, kodu fork edin, dallar oluşturun ve değişiklikleri birleştirin.

Ders Sonrası Quiz

Ders sonrası quiz

Gözden Geçirme ve Kendi Kendine Çalışma

ık kaynak yazılıma katkıda bulunma hakkında daha fazla okuyun.

Git cheatsheet.

Pratik yapın, pratik yapın, pratik yapın. GitHub, skills.github.com üzerinden harika öğrenme yolları sunuyor:

Ayrıca daha ileri düzey kurslar da bulabilirsiniz.

Ödev

GitHub'da İlk Hafta kursunu tamamlayın.


Feragatname:
Bu belge, Co-op Translator adlı yapay zeka çeviri hizmeti kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan herhangi bir yanlış anlama veya yanlış yorumlama durumunda sorumluluk kabul edilmez.