GitHub, git yazılımı ile entegre olmuş bir depolama alanıdır. Git ile GitHub birbirine karıştırmayın lütfen. Git versiyon kontrol sistemidir. GitHub sayesinde dünyanın çeşitli ülkelerinden, bu ülkelerin bazı yerlerinden, projenize farklı bir kaç kişi ekleyerek takım çalışması yapabilirsiniz. Ayrıca, GitHub ile dünya üzerinde projenizin herkes tarafından görülmesini, değerlendirilmesi sağlayabilirsiniz. GitHub üzerinde paylaşılan kodlar ile kendinizi geliştirebilirsiniz. Öncelikli olarak GitHub kullanabilmek için bir hesap oluşturmanız gerekmektedir. Buradan GitHub’a kayıt olabilirsiniz.
GitHub’a kayıt işlemini tamamladıysanız gerçek konuya başlamadan küçük bir kaç şeyden bahsetmek istiyorum. GitHub, depolama alanının windows ve mac için geliştirmiş olduğu uygulamasına buradan ulaşabilirsiniz. Bu uygulama ile masaüstünüzden sürükle bırak şeklinde depolama işlemi yapabilirsiniz. Ben bu yazımda komut sistemi üzerinden gideceğim. Hazırsak başlayalım.
GitHub’a Proje Gönderme
Öncelikle yeni bir depo oluşmamız gerekiyor. Bunun için New Repository sekmesinden veya artı butonundan depomuzu oluşturalım. Depomuz için bir isim girmemizi, depomuzun herkese açıkmı yoksa özel olarak oluşturulup oluşturulmayacağını soruyor. Eğer özel bir depo istersek bir miktar para ödememiz gerekeceğinden public bir depo oluşturuyoruz. Bir önceki konumuz olan git dersinde öğrendiklerimizi burada uygulayacağız. Terminali açın ve github’a göndermek istediğiniz dizine bağlanın.
git remote add githubDepo https://github.com/hasankoyun/test.git
Oluşturmuş olduğunuz deponun bağlantı linkini öncelikli olarak tanıtmamız gerekiyor. Buradaki githubDepo takma isimdir. Deponuzun linkini GitHub’ta oluşturmuş olduğunuz depodan alacaksınız. Bağlantı işleminin gerçekleştiğini kontrol etmek için:
git remote
komutunu kullanırız. Çıktı olarak takma isim geri dönerse bağlantı sağlanmıştır. Şimdi projemizi oluşturduğumuz depoya göndermek için şu komutu yazalım:
git push -u githubDepo master
push komutu göndermek anlamında olup -u ise tüm dosyaları göndermek için kullanılan parametredir. Master ise dalı belirtmektedir. Konuzun ilerki kısımlarında dallardan bahsedeceğim. Komutu çalıştırdığımızda bizden kullanıcı adı ve şifre isteyecektir. Bilgilerinizi girerek enter tuşuna basın ve proje dosyalarınız belirtiğiniz depoya eklensin. Projeniz üzerinde dosya silmek eklemek için her seferinde bu işlemi tekrar etmeniz gerekir.
.gitignore
Git projenizde takip edilmesini istemediğiniz dosyalar varsa bu dosyaların ismini .gitignore dosyasına yazarak git tarafından takip edilmesi engelleyebilirsiniz. Örneğin projenize ait veritabanlarınızı göndermek istemediğinizi varsayarsak şu komutları yazmamız gerekecek:
cat >> .gitignore
veritabani
komutunu yazdıktan sonra gönderilmesini istemediğimiz dosyaların isimlerini gireriz ve bu işlemi sonlandırmak için CTRL — C tuş kombinasyonu ile komutu kapatırız. İşlemin başarılı olup olmadığını kontrol etmek için aşağıdaki komutu kullanırız. Komut çalıştığında dosya isimleri listelenir.
cat .gitignore
Bu işlemin ardından gitignore dosyasını commit ediniz. Eğer bir klasörü göndermek istemiyorsak gitignore dosyasında şöyle bir ekleme yapmamız gerekir.
klasörismi/*
buradaki yıldız işareti tüm dosyaları anlamındadır. Şayet o klasörün içinden sadece bir dosyayı göndermek istersek komutumuz şu şekilde olmalı:
!klasörismi/main.py
Buradaki ünlem işareti bu dosyayı dahil etme demektir. Yaptığınız bu işlemleri öncelikle git’e sonrasında github’a göndermeyi unutmayın.
Branches : Dallar
Branch git projenizin bir kopyasıdır. Git projemizde default olarak gelen master dalı projemizin tamamını kapsayan bir daldır. Master dalından bir kopya alındığında yeni bir dal oluşturmuş oluruz. Alınan bu dallar ne işe yarar diye soracak olursanız, projenizde çalışan takım arkadaşlarına dal oluşturarak işlerin bitiminde master dalıyla birleştirerek takımdaki çalışanların geliştirdiği modülleri master dalına bağlayarak tek bir proje haline getirmek için kullanılır.
git branch
Komutuyla dalları listeleriz. Uzak depodaki dalları görüntülemek istersek şu komutu kullanırız:
git branch –all
Terminal üzerinden dal oluşturmak istersek:
git branch yönetim
yönetim adında bir dal oluşturduk. Oluşturduğumuz yandala geçmek içinse:
git checkout yönetim
komutu kullanılır. Oluşturulan dallar arasında yapılan işlemleri görüntülemek için aşağıdaki komutu kullanırız:
git diff master yönetim
Dalları birleştirmek istersek:
git merge yönetim
Yapılan işlemlerin github tarafına yansıması için commit işlemini gerçekleştirmeyi unutmayın.
Readme.md
Bu dosya daha önce oluşturduğunuz projenizin açıklama kısmıdır. Projeyi ziyaret eden kişilerin kodlarınızı okumadan önce projenizle ilgili kısa bilgileri vererek projenizi anlamasını sağlayabilirsiniz. Projenize Readme dosyasını eklemek için github üzerinden Add a readme butonunu kullanın. Açılan alanda kullanabileceğiniz kodlar şu şekilde:
# github-projesi##proje amaci 1-6 arası kare kullanmak yazı boyutunu buyutup kucultmeyi sağlar.![resim bulunmadi](http://hasankoyun.com/wp-content/uploads/2017/01/git-hasankoyun-600×338.jpg)**kalin yazmak icin cift yildiz kullanilir***italik yazi tek yildiz ile yazilir*kod yazmak icin egik tirnak kullaniriz
[Gozukmesini Istegin Text](http://hasankoyun.com)Watch, Star ve ForkWatch: Github’ta bir projeyi takip etmeye yarar.Star: Projeyi beğendiğiniz anlamına gelir ve sonradan yıldızladığınız projeyeleri inceleyebilirisiniz.Fork: Projenin bir kopyasını hesabınıza almak istediğinizde kullanılır.Issues : ProblemlerProjenizle ilgili oluşan sorun, öneri vs. gibi diğer kişilerden yardım, öneri, çözüm almak için kullanılır. Projenizle ilgili bir issues oluşturmak için issues sekmesinde new issues butonunu kullanabiliriz. İstenilen bilgileri girdikten sonra issues yayınlayabilir ve sonuca ulaştığınızda kapatabilirsiniz.
Bonus: GitLab
GitHub benzeri ücretsiz bir depodur. GitHub üzerindeki işlemlerin aynısı gitlab içinde geçerlidir. GitLab’a buradan ulaşabilirsiniz.