Yazılımcının Portföyü GitHub
Kodların Saklanması ve Arşivlenmesi
Bilgisayarımızda oluşturduğumuz bir proje klasörünü kopyalayarak hatta Proje Yeni
, Proje Son
, Proje Harbiden En Son Hali
gibi isimlendirerek saklamak bazen çözüm yolu gibi gözükebilir. Fakat yapılan değişiklikleri takip etmek, projenin farklı sürümleri için kritik güncellemeler hazırlamak, disk arızalarına karşı harici kaynaklara yedeklemek, her yedek için dağ gibi büyüyen dosya boyutlarından kurtulmak aslında mümkün. Hatta projenizde sizin dışınızda kişilerin de sizinle paralel bir şekilde projenizi geliştirmesini sağlamak mümkün.
Bu işlevleri ve birçoğunu sağlamak için sürüm kontrol sistemlerini kullanmaktayız. Birçok alternatif sistem ve bu sistemlerin barındırılması için platform bulunsa da en çok rağbet gören sistemlerden birisi Git ve bu sistemi barındırmak içi kullandığımız GitHub bu iş için biçilmiş kaftan.
Git ve GitHub
Git, dağıtık bir versiyon kontrol sistemidir. Yazılım geliştirme projelerinde, kodun geçmiş versiyonlarını takip etmek, değişiklikleri yönetmek ve farklı geliştiriciler arasında iş birliği yapmak için kullanılır. Git, projelerin güvenli ve organize bir şekilde yönetilmesine olanak tanır.
GitHub, Git tabanlı bir bulut depolama ve iş birliği platformudur. Yazılım geliştiricilerin Git projelerini barındırmasına, paylaşmasına ve iş birliği yapmasına olanak sağlar. GitHub, açık kaynak projelerin yaygın olarak kullanıldığı bir platformdur ve bu projelerin geliştirilmesi için birçok katkı sağlar.
Portföy
Örneğin grafikerler yaptıkları çalışmaları göstermek için portföy platformları kullanmakta ve iş verenler bu portföylere bakarak grafikerin kendi amaçladıkları projeler için uygun olup olmadıklarına hızlı bir şekilde karar verebilmekte.
Eskiden işverenler yazılımcıların yetkinliklerini ölçmek için çalışan adayına görev verir ve o görevin çıktılarını incelemek zorunda kalırlardı. Bir diğer yol ise aynı projede çalışmış insanlara o adayla ilgili soru sormak ve kişiden referans istemekti.
Fakat artık yazılımcı hakkında bilgi edinmek için o kişinin GitHub sayfasına bakmak ve incelemek yeterli oluyor. Bunun için hazırladığınız örnek projelerinizi GitHub’a yüklemek ve kendiniz hakkında bir profil içeriği hazırlamanız yeterli.
Hadi Portföy Oluşturalım
Her şeyden önce kendinize bir GitHub hesabınıza giriş yapın. Eğer hesabınız yoksa aramıza katılmak için çok geç kalmadınız, sizi de aramıza bekliyoruz.
Hesap isminizle aynı olmak üzere bir depo (repository) oluşturalım. Hesap isminizle bir depo oluşturmaya çalıştığınızda bunun özelleşmiş bir depo olacağı ve bu deponun içine koyacağınız
README.md
dosyasının sizin profilinizde görüneceği hakkında sizi bilgilendirecek. Proje içineREADME
dosyası ekle demeyi unutma. Unutursan ya da daha detaylı bir yapı oluşturmak istersen bunları da göstereceğiz.README
dosyasını düzenle dedikten sonra istediğiniz gibi içeriğinizi yazarak kaydedebilirsiniz. İçeriğiniz artık profil sayfasında görünür halde olacak.
Profil İçeriğinizi Şekillendirme
Kodlama projelerinde dokümanlar için çoğunlukla markdown işaretleme dili kullanılır. Profilimizi düzenlemek için de bu dosya formatını kullanmamız gerekmekte.
Markdown, basit ve hafif bir işaretleme dilidir. Yazılım belgeleri, README dosyaları, blog yazıları ve daha birçok yerde kullanılabilir. Markdown, metinleri biçimlendirmek ve yapılandırmak için kullanılır. Başlıklar, listeler, bağlantılar, resimler gibi öğeleri kolayca eklemek için Markdown kullanılabilir. Platformlara bağlı olarak da bazı html etiketlerini destekler.
Beni Oku Oluşturucuları ve Örnekler
Profil içeriğinizi oluşturmak için birçok proje bulunmakta. İnternet üzerinden GitHub Profile Readme Generator
şeklinde aratarak bunların birçoğuna ulaşabilirsiniz. Awesome GitHub Profile
benzeri projeler üzerinden de diğer kullanıcıların yapmış olduğu profilleri inceleyerek onlardan örnekler alabilirsiniz.
Bu bağlantılara göz gezdirmek isteyebilirsin:
Beautiful GitHub Profile Readme
Hadi Bir Aralarından Bir Tane Seçip Profilimizi Hazırlayalım
AGRG: Awesome Github Readme Generator
genreadme.cloud sayfasına girelim
Get Started
düğmesini tıklayarak profilimiz için beni oku dosyası oluşturmak istediğimizi söyleyelimHakkımızdaki bilgileri doldurup, ilgilendiğimiz ve üzerinde çalıştığımız projeler hakkında bilgi verelim
Kullandığımız yazılım dilleri, servis ve frameworkler’i seçelim
Sosyal medya adreslerimizi girelim
Göstermek istediğimiz GitHub istatistiklerini seçelim
Oluştur dedikten sonra içeriği kopyalayıp kendi
readme.md
dosyamızın içeriğine yapıştırıp kaydedelim.
Benzer işlevleri yapan daha birçok proje var. Adımlar genelde birbirine benziyor. Bazı içerikler için GitHub Action
kullanmak gerekebilir. Bonus olarak profilimize bir yılan oyunu ekleyebiliriz. Ama önce Git ile ilgili daha fazla şey öğrenelim.
Markdown Cheatsheet
Markdown etiketleri şunlardır:
Başlıklar:
#
,##
,###
,####
,#####
,######
ile başlayan satırlar başlık oluşturur.#
sayısı arttıkça başlık seviyesi düşer.İtalik: Metni
*
veya_
işaretleri arasına alarak italik yapabilirsiniz. Örnek:*italik*
veya_italik_
Kalın: Metni
**
veya__
işaretleri arasına alarak kalın yapabilirsiniz. Örnek:*kalın**
veya__kalın__
Üstü çizili: Metni
~~
işaretleri arasına alarak üstünü çizebilirsiniz. Örnek:~~üstü çizili~~
Sırasız liste: Satırları
*
,-
veya+
işaretleriyle başlatarak sırasız liste oluşturabilirsiniz.Sıralı liste: Satırları
1.
,2.
,3.
gibi sayılarla başlatarak sıralı liste oluşturabilirsiniz.Bağlantılar:
[Bağlantı metni](https://bağlantı-adresi.com)
şeklinde bağlantı ekleyebilirsiniz.Resimler:
![Resim açıklaması](https://resim-adresi.com)
şeklinde resim ekleyebilirsiniz.Kod: Tek satırlık veya satır içi kod için
kod
kullanabilirsiniz. Çok satırlı kod için ise üç tane ``` işareti ile başlayıp bitirebilirsiniz.Alıntılar: Satırları
>
işaretiyle başlatarak alıntı oluşturabilirsiniz.Yatay çizgi:
--
,**
veya___
kullanarak yatay bir çizgi ekleyebilirsiniz.
Yeni Bir Proje Oluşturalım ve Yayınlayalım
Diğer kullanıcıların da erişimine açık bir şekilde örnek projelerinizi GitHub üzerinden yayınlayarak diğer kişilerinde bu projelerden yararlanmasını sağlayabilir veya kişilerin sizin yazılım bilginiz hakkında bilgi edinmelerini sağlayabilirsiniz. Kendi projelerinizi yayınlamak kadar başka projelere de katkıda bulunmanın önemli olduğunu da unutmamakta fayda var.
Deponun oluşturulması
GitHub sayfasındaki üst barda bulunan
+
artı işaretine tıklayarak yeni bir depo oluşturmaya başlayalımDepomuz için kullanmak istediğimiz ismi yazalım. Depomuz profilimiz altında bu isimle ve adres ile bulunacak. Depomuza diğer kullanıcıların erişip erişemeyeceğini
Public
vePrivate
seçenekleriyle doğru olarak seçtiğimize emin olalımİsteğe bağlı olarak depo açıklamamızı, varsayılan bir beni oku dosyası oluşturup oluşturmaması gerektiğini, projemizdeki geçici ve atık amaçlı kullanılan dosyaların repo içinde bulunmaması için örnek bir
.gitignore
şablonunu, depoda paylaşılan proje ve dosyaların kullanım ve paylaşım haklarına ait lisans çeşidini seçtikten sonra repomuzu oluşturalım
Deponun bilgisayarımızdan erişimi
Depoyu bilgisayarımıza klonlamak için bilgisayarımızda git
komut istemcisinin yüklü olması gerekmekte. git-scm.com adresinden işletim sistemimize uygun olan git istemcisini indirip kuralım.
Git işlevlerini komut satırından kullanabileceğimiz gibi çeşitli grafik arabirimli git araçları ve IDE’lerde git için çeşitli araçlar bulunmakta. Bunları edinmenizde fayda olacaktır. Komut kullanımına alışkın değilseniz komutları unutabilir veya hatalı yerlerde hatalı komutlar kullanma durumunuz olabilir.
Git kurulumu ile ilgili bilgiyi Git Guides - install git (github.com) adresinden öğrenebilirsiniz. Şimdi depomuzu klonlayalım:
Proje sayfamızın adresini adres barından ya da
<> Code
düğmesine tıkladığımızda açılan kısımdan kopyalayınKomut istemcisini açıp projeyi oluşturacağımız klasöre gidin
git clone
https://github.com/<kullanici>/<depoismi>.git
komutu ile projenin kopyasını oluşturuncd depoismi
komutuyla deponun oluştuğu klasöre gidebilir sonrals
veyadir
komutuyla klasörü listeleyebilirsinizDosyalarınızı ve projenizi düzenlemek için editör veya IDE’ye ihtiyaç duyabilirsiniz. Bilgisayarınızda Visual Studio Code yüklü ise
code .
komutuyla bulunduğunuz klasörü Code aracılığıyla açabilirsinizÖrnek olarak
benioku.md
dosyası oluşturup kaydedelimBazı git işlevlerini yapılan işlemlerde bazı bilgiler saklamaktadır. Bu bilgilerin başında kullanıcı ismi ve e-posta adresi yer almaktadır.
git config --global user.name "Bilgehan Zeki"
vegit config --global user.email "info@example.com"
komutlarını kullanarak bu bilgileri kaydedelim. Aksi taktirde komutları kullanırken hata alabilirsiniz.git add .
komutuyla eklenen ve değiştirilen dosyaları işaretlememiz,git commit -m "beni oku dosyası eklendi"
komutu ile de yaptığımız değişikliklere açıklama vererek yerel depoya kaydetmemiz gerekmekte. Git sürüm kontrol sistemi dağıtık bir yapıya sahiptir. Yapılan değişiklikler sadece yerel depomuzda bulunabileceği gibi birden çok uzak depoda da saklanabilir ve işlem görebilirgit push
komutuyla yaptığımız değişiklik uzak depoya yani GitHub’a gönderimini sağlamış olacağız. Bu komutu kullandığımızda hesap bilgilerimizi girmemiz gerekecektirGitHub üzerindeki depoda bazı değişiklikler yapalım. Örneğin
[benioku.md](benioku.md)
dosyasının içeriğini düzenleyip kaydedelim. Mevcut değişikliği yerel depomuza çekmek içingit pull
komutunu kullanmamız gerekmekte
Bonus: Yılan Oyunu
GitHub depolarınızı depolamanın yanı sıra birçok özellik sunmakta. Bunların başlıcaları CD/CI
yani entegrasyon ve teslimat sürekliliği araçları. GitHub aksiyonu kullanarak profilimize sürekli güncellenen aktivite göstergesi üzerindeki kutucukları yiyen bir yılan animasyonu ekleyeceğiz.
Bunun için öncelikle yukarıdaki benzer adımları takip ederek profil
readme
depomuzun bir kopyasını bilgisayarımıza kaydedelimDaha sonra örnek depoyu
https://github.com/Platane/Platane
adresinden indirip içindeki.github
klasörünü kendi repomuzun içine kopyalayalımÖrnek proje içindeki
readme.md
dosyasının içeriğindekiplatane/platane
kısımlarını kendi kullanıcı adımızla değiştirip kendireadme.md
dosyasının içine ekleyelimgit add .
,git commit -m "Yılan animasyonu eklendi"
,git push
komutlarını sırasıyla çağırıp uzak repoyu güncelleyelimGitHub depo sayfasındaki
Actions
sekmesine giderekworkflow
'u aktive edelim.generate animation
akışından ilk sefere mahsus olmak üzereRun workflow
diyerek elle çalıştıralım. Artık animasyonumuz hazır