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

18 KiB

GitHub'a Giriş

Bu ders, kodunuzu barındırmak ve değişiklikleri yönetmek için kullanılan bir platform olan GitHub'ın temellerini 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ı öğrenmek

Ö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. Daha sonra, 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 genel 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 etmek 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. Şu komutu yazın:

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

    git init
    
  4. Durumu kontrol edin. Depo durumunu kontrol etmek için şu komutu 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 dosyalar 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 komut, 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. Şu komutu yazarak bir commit oluşturun:

    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şikliğin 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 başkalarını deponuzda sizinle çalışmaya davet etmek istersiniz. Bunun için 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. Bu URL'yi aşağıdaki komutta kullanacaksınız. https://github.com/username/repository_name.git yerine GitHub URL'nizi koyun.

    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şturdunuz. Bu dosyaları GitHub'a göndermek için şu komutu kullanın: git push, şu şekilde:

    Not: Varsayılan 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: Ayrıca, .gitignore dosyasını benimsemek isteyebilirsiniz. Bu dosya, 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? Sizce bir commit mesajında iletilmesi gereken en önemli ve faydalı bilgi nedir?

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 katkı kılavuzları 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 kodunuza bakmadan önce projelerinizin doğru yer olup olmadığını anlamak için baktıkları ş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ştirme

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ın 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ş yapma. Belirtilen dala geçin ve çalışma dizinini git switch ile güncelleyin:

    git switch [branch-name]
    
  3. Çalışma yapma. 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ştirme. 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 şu komutlarla en son haline 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önderme. Ç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, dalı çatalladığınız depoda oluşturur.

  6. Bir PR açma. Ardından, bir PR açmak istersiniz. Bunu, GitHub'daki çatalladığınız depoya giderek yaparsınız. 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 yapma. Bir PR'ı başarıyla birleştirdikten sonra temizlik yapmak iyi bir uygulama olarak kabul edilir. Hem yerel dalınızı hem de GitHub'a gönderdiğiniz dalı temizlemek istersiniz. Önce şu komutla yerel olarak silin:

    git branch -d [branch-name]
    

GitHub'daki fork edilmiş repo sayfasına gidin ve az önce ona gönderdiğiniz uzak dalı kaldırın.

Pull request (çekme isteği) biraz garip bir terim gibi görünebilir çünkü aslında değişikliklerinizi projeye göndermek istiyorsunuz. Ancak, proje sahibi veya çekirdek ekip, değişikliklerinizi projenin "ana" dalıyla birleştirmeden önce değerlendirmelidir. Yani aslında bir proje sahibinden değişiklik kararı talep ediyorsunuz.

Bir çekme isteği, bir dalda yapılan değişiklikleri incelemek ve tartışmak için yorumlar, entegre testler ve daha fazlasıyla bir yer sağlar. İyi bir çekme isteği, kabaca bir commit mesajı ile aynı kuralları takip eder. Çalışmanız bir sorunu çözdüğünde, sorun izleyicisine bir referans ekleyebilirsiniz. Bu, # işareti ve ardından sorun numarası kullanılarak yapılır. Örneğin #97.

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

GitHub'daki ilgili uzak dalda yapılan tüm yeni commit'lerle mevcut yerel çalışma dalınızı 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 makinenize 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" yapabilirsiniz. Yıldızladığınız depoları sağ üst 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 sorun izleyici bulunur. Burada insanlar projeyle ilgili sorunları tartışır. Ve Pull Requests sekmesi, devam eden değişikliklerin tartışıldığı ve incelendiği yerdir.

Projelerde ayrıca forumlar, e-posta listeleri veya Slack, Discord veya IRC gibi sohbet kanallarında tartışmalar 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 yapın, dallar oluşturun ve değişiklikleri birleştirin.

Ders Sonrası Test

Ders sonrası test

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

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

Git hile sayfası.

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

Daha ileri düzey kurslar da bulabilirsiniz.

Ödev

GitHub'da İlk Hafta kursunu tamamlayın.

Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator 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 dilindeki hali, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.