Github Rehberi

noktalıvirgül

Deneyimli Moderatör
17 Kas 2020
919
503
GitHub, yazılım mühendisleri, çeşitli endüstriler ve yazılımla ilgilenen herkes için açık kaynaklı bir bulut depolama aracıdır. İş akışı, işbirliği sağlamak; kaynak kod değişikliklerini izlemek, analiz etmek; bir hata olursa bu hatanın geri alınmasını, hemen düzeltilmesini sağlayan sürüm kontrol sistemidir ve projelerdeki iyileştirmeler, düzenlemeler için önemli bir platformdur. Yani kaynak kodlarda değişiklikler yapılmaya çalışırken proje içeriğinde büyük sorunlar oluşsa bile GitHub bazı yönergeler sayesinde kullanıcının bu projeyi tekrar son haline, projenin bir önceki sürümüne getirilmesini sağlar.
Sürüm kontrolü, yazılım geliştiricilerinin projesinin kodlarında ve dosyalarında değişiklikleri yönetmelerini, diğer yazılımcıların da bu kodlar üzerinde düzenleme yapma şansını ve yazılım geliştiricilerin projeler hakkında birlikte çalışma, işbirliği yapma ve projelerini geliştirme imkânlarını sunar. Hatta GitHub kullanmak için mutlaka kod ve komut satırlarının kullanılması şart değildir. Sadece projelerin yönetimi ve işbirliğiyle çalışmak isteyenler de kullanabilir. Bu yazılım üzerinde çalışmakla yenilikler öğrenilebilmekte, başarılı uzmanlarla işbirliği yapılarak hızlı gelişimler sağlanabilmektedir.
Git olarak ifade edilen yazılım, dağıtılmış sürüm kontrol sistemi (Version Control System-VCS) ve kaynak kod yönetim sistemi barındırır. Yazılım mühendisi Linus Torval’ın Linux işletim sistemini geliştirirken kaynak kod değişikliklerini gözlemlemek, takip etmek için Git’i oluşturmuştur.
Bir projeye erişim izni verilen ekipteki bir geliştirici, “Git komut satırı araçlarını” (Git command line tools) kullanarak kaynak kodlarını ve değişiklikleri yönetebilir. Bunların yapılabilmesi için yalıtılmış bir yerel depo sunan “özellik dalları” vardır. Bu özellik dalları, ilk yazılan proje kod satırlarının kaydedildiği ana dalı etkilemez. Yeni eklenen kodlar ve tüm güncellemeler yapıldıktan sonra özellik dalı ve ana dal birleştirilebilir.

Hub: Bu platformdaki Hub ise, komut satırını sosyal ağa çevirir. Projeler üzerinde birlikte çalışabilmenin yanı sıra fikirlerini paylaşmak isteyen insanların sosyalleşmek için geliştiricilerin birbirini takip etmelerini, yaptıklarını veya kimlerle bağlantı halinde olduklarını gösterebilir. Örneğin; programcıların bir sosyal medya platformu gibi düşünülebilir.

GitHub içeriği: Milyonlarca depoyu bünyesinde barındıran GitHub, çoğunlukla açık kaynaklı projeler içerir. Git GUI istemcileri arasında en çok tercih edilen sistemdir denilebilir. Bu sistemi profesyonel geliştiriciler veya büyük işletmeler, kendilerini yazılım konusunda geliştirmek, projelerini yönetmek, işbirliğiyle çalışmak isteyenler kullanabilir. İşbirliği yapılmasını, karmaşık kod ve projeler üzerinde birlikte çalışılmasını sağlayan ekipler kurulabilir; bu ekipler projelerini güncelleyebilirler, değişiklikleri takip edebilirler.

GitHub Deposu Oluşturmak: Öncelikle, eğer hesabınız yoksa yeni bir hesap açmak için e-posta adresinizle birlikte yönergelere göre hareket ederek hesap oluşturabilirsiniz. Hub merkezli bir depo oluşturularak bir doysa, kod, metin ve birçok şey içeren alan oluşturulabilir.

Depo (Repository): Proje dosyalarının depo dizinidir. Projelerle ilgili her şey repository’de saklanabilir. Bir repository oluşturmak için “Create a repository” butonuna tıklanır.


Açılan yeni sayfada Owner (Sahip) bölümünde hesap adınız bulunur. Repository Name (Depo Adı) başlığının kutucuğuna bir depo adı eklemelisiniz. Açık kaynak olarak yayınlanması, herkesin görebilmesi ve değiştirebilmesi, düzenleyebilmesi için Public seçilmeli; hiç kimsenin müdahale edemeyeceği, sadece sizin yetkinizin olduğu şekilde kalması içinse Private seçilmelidir. Ama ekiple birlikte çalışabilmek, daha hızlı gelişebilmek için Public yapmanız daha uygun olacaktır. Ayrıca “Add a README file” dosyasının eklenmesi için işarete tıklayıp “Create repository” butonuna tıklanmalıdır. Böylelikle proje dosyasını içeren havuz/repo oluşturulmuş olur.

Dal (Branch): Deponun bir kopyasıdır. Daha önce de belirttiğimiz gibi, proje hakkında geliştirme çalışmaları yapılırken projenin orijinal hali, merkezi repository kısmında korunmuş olur. Düzenleme işlemleri bittiğinde, Pull Request kullanılarak bir branch diğer branch’larla ve merkezi repo ile birleştirilebilir. Branch (özellik dalı) şu şekilde oluşturulabilir: Yeni deponuza girdikten sonra main butonuna tıklayarak yeni özellik dalının (branch’ın) adını girebilirsiniz, sonrasında create branch (dal oluştur)’a tıklayarak “ana dal” ile aynı olan “özellik dalı” oluşturmuş olursunuz. Böylece projenin içeriğini değiştirmeden, bozmadan yeni düzenlemeler yapabilirsiniz.

GitHub Commit’leri (Gönderiler): Commit’ler kaydetmekle ilgilidir. Yani branch’lar değiştirildikçe bu değişikliklerin kaydedilmesi için Commit edilmelidir. Branch’ın Main öğesine tıklanıp açılır menüde görünen dal seçilerek erişilebilmektedir.

Dosyanın düzenlenmesi için kalem simgesi kullanılır. Değişiklikler yapıldıktan sonra açıklama yazılabilir. Daha sonra Commit Changes butonuna tıklanarak değişiklikler tamamlanır.


Çekme İstekleri (Pull Requests): Projede birlikte çalışılan kişilerin, herhangi bir dal’da yaptığınız değişikliği ana depoya aktardığınıza dair bilgi almalarını sağlamaktadır. Bu çekme istekleriyle birlikte görüşünü almayı istediğiniz kişilerle bu durumu tartışabilirsiniz. Bu özelliğin yönergeleri şöyledir:
“Pull requests” başlığına tıklanır, sonra “New pull request” butonuna tıklanır. Açılan listede Example comparisons başlığı altında üzerinde çalışılan “feature branch” (özellik dalı) başlıkları bulunur. Bunlardan hangisi seçilmesi gerekiyorsa ona tıklanır. Değişiklikler gözden geçirilir ve “Create pull request”e tıklanır.

Depoyu çatallamak (Forking): Repository’i yani depoyu çatallamak demek, bir depo üzerinde yeni bir proje yapılabilmesi demektir. Daha önce oluşturulmuş repository kopyalanıp gereken değişiklikler yapılıp yeni sürümüyle yeni repository olarak depolanabilir. Bu, yeni bir proje olmasının yanında, merkezi repository’i etkilemez. Uygun gördüğünüz bir repository’i çatallamak için Fork tuşuna tıklanmalıdır.

GitHub’ın Genel Anlamda Olumlu ve Olumsuz Yönleri:
-
Kullanıcıların programlama bilgilerini zenginleştirir.
-İş teklifi alınabilecek bir platformdur.
-Faydalı blog yazıları, postcast’ler bulunur.
-Fikir alışverişi ve işbirliği yapılabilmesini sağlar.
-Bazı açık kaynak proje dosyalarının içerisine anahtar da gizlenmeden eklenirse kötü amaçlı kişiler tarafından bu anahtar çalınabilir.
-Ücretsiz sürümde depolama alanı çok kısıtlıdır. Depolar için sadece 1 GB alan açılmıştır.
 

Muslukcu

Katılımcı Üye
17 Kas 2021
699
262
Tesisat dükkanı
GitHub, yazılım mühendisleri, çeşitli endüstriler ve yazılımla ilgilenen herkes için açık kaynaklı bir bulut depolama aracıdır. İş akışı, işbirliği sağlamak; kaynak kod değişikliklerini izlemek, analiz etmek; bir hata olursa bu hatanın geri alınmasını, hemen düzeltilmesini sağlayan sürüm kontrol sistemidir ve projelerdeki iyileştirmeler, düzenlemeler için önemli bir platformdur. Yani kaynak kodlarda değişiklikler yapılmaya çalışırken proje içeriğinde büyük sorunlar oluşsa bile GitHub bazı yönergeler sayesinde kullanıcının bu projeyi tekrar son haline, projenin bir önceki sürümüne getirilmesini sağlar.
Sürüm kontrolü, yazılım geliştiricilerinin projesinin kodlarında ve dosyalarında değişiklikleri yönetmelerini, diğer yazılımcıların da bu kodlar üzerinde düzenleme yapma şansını ve yazılım geliştiricilerin projeler hakkında birlikte çalışma, işbirliği yapma ve projelerini geliştirme imkânlarını sunar. Hatta GitHub kullanmak için mutlaka kod ve komut satırlarının kullanılması şart değildir. Sadece projelerin yönetimi ve işbirliğiyle çalışmak isteyenler de kullanabilir. Bu yazılım üzerinde çalışmakla yenilikler öğrenilebilmekte, başarılı uzmanlarla işbirliği yapılarak hızlı gelişimler sağlanabilmektedir.
Git olarak ifade edilen yazılım, dağıtılmış sürüm kontrol sistemi (Version Control System-VCS) ve kaynak kod yönetim sistemi barındırır. Yazılım mühendisi Linus Torval’ın Linux işletim sistemini geliştirirken kaynak kod değişikliklerini gözlemlemek, takip etmek için Git’i oluşturmuştur.
Bir projeye erişim izni verilen ekipteki bir geliştirici, “Git komut satırı araçlarını” (Git command line tools) kullanarak kaynak kodlarını ve değişiklikleri yönetebilir. Bunların yapılabilmesi için yalıtılmış bir yerel depo sunan “özellik dalları” vardır. Bu özellik dalları, ilk yazılan proje kod satırlarının kaydedildiği ana dalı etkilemez. Yeni eklenen kodlar ve tüm güncellemeler yapıldıktan sonra özellik dalı ve ana dal birleştirilebilir.

Hub: Bu platformdaki Hub ise, komut satırını sosyal ağa çevirir. Projeler üzerinde birlikte çalışabilmenin yanı sıra fikirlerini paylaşmak isteyen insanların sosyalleşmek için geliştiricilerin birbirini takip etmelerini, yaptıklarını veya kimlerle bağlantı halinde olduklarını gösterebilir. Örneğin; programcıların bir sosyal medya platformu gibi düşünülebilir.

GitHub içeriği: Milyonlarca depoyu bünyesinde barındıran GitHub, çoğunlukla açık kaynaklı projeler içerir. Git GUI istemcileri arasında en çok tercih edilen sistemdir denilebilir. Bu sistemi profesyonel geliştiriciler veya büyük işletmeler, kendilerini yazılım konusunda geliştirmek, projelerini yönetmek, işbirliğiyle çalışmak isteyenler kullanabilir. İşbirliği yapılmasını, karmaşık kod ve projeler üzerinde birlikte çalışılmasını sağlayan ekipler kurulabilir; bu ekipler projelerini güncelleyebilirler, değişiklikleri takip edebilirler.

GitHub Deposu Oluşturmak: Öncelikle, eğer hesabınız yoksa yeni bir hesap açmak için e-posta adresinizle birlikte yönergelere göre hareket ederek hesap oluşturabilirsiniz. Hub merkezli bir depo oluşturularak bir doysa, kod, metin ve birçok şey içeren alan oluşturulabilir.

Depo (Repository): Proje dosyalarının depo dizinidir. Projelerle ilgili her şey repository’de saklanabilir. Bir repository oluşturmak için “Create a repository” butonuna tıklanır.


Açılan yeni sayfada Owner (Sahip) bölümünde hesap adınız bulunur. Repository Name (Depo Adı) başlığının kutucuğuna bir depo adı eklemelisiniz. Açık kaynak olarak yayınlanması, herkesin görebilmesi ve değiştirebilmesi, düzenleyebilmesi için Public seçilmeli; hiç kimsenin müdahale edemeyeceği, sadece sizin yetkinizin olduğu şekilde kalması içinse Private seçilmelidir. Ama ekiple birlikte çalışabilmek, daha hızlı gelişebilmek için Public yapmanız daha uygun olacaktır. Ayrıca “Add a README file” dosyasının eklenmesi için işarete tıklayıp “Create repository” butonuna tıklanmalıdır. Böylelikle proje dosyasını içeren havuz/repo oluşturulmuş olur.

Dal (Branch): Deponun bir kopyasıdır. Daha önce de belirttiğimiz gibi, proje hakkında geliştirme çalışmaları yapılırken projenin orijinal hali, merkezi repository kısmında korunmuş olur. Düzenleme işlemleri bittiğinde, Pull Request kullanılarak bir branch diğer branch’larla ve merkezi repo ile birleştirilebilir. Branch (özellik dalı) şu şekilde oluşturulabilir: Yeni deponuza girdikten sonra main butonuna tıklayarak yeni özellik dalının (branch’ın) adını girebilirsiniz, sonrasında create branch (dal oluştur)’a tıklayarak “ana dal” ile aynı olan “özellik dalı” oluşturmuş olursunuz. Böylece projenin içeriğini değiştirmeden, bozmadan yeni düzenlemeler yapabilirsiniz.

GitHub Commit’leri (Gönderiler): Commit’ler kaydetmekle ilgilidir. Yani branch’lar değiştirildikçe bu değişikliklerin kaydedilmesi için Commit edilmelidir. Branch’ın Main öğesine tıklanıp açılır menüde görünen dal seçilerek erişilebilmektedir.

Dosyanın düzenlenmesi için kalem simgesi kullanılır. Değişiklikler yapıldıktan sonra açıklama yazılabilir. Daha sonra Commit Changes butonuna tıklanarak değişiklikler tamamlanır.


Çekme İstekleri (Pull Requests): Projede birlikte çalışılan kişilerin, herhangi bir dal’da yaptığınız değişikliği ana depoya aktardığınıza dair bilgi almalarını sağlamaktadır. Bu çekme istekleriyle birlikte görüşünü almayı istediğiniz kişilerle bu durumu tartışabilirsiniz. Bu özelliğin yönergeleri şöyledir:
“Pull requests” başlığına tıklanır, sonra “New pull request” butonuna tıklanır. Açılan listede Example comparisons başlığı altında üzerinde çalışılan “feature branch” (özellik dalı) başlıkları bulunur. Bunlardan hangisi seçilmesi gerekiyorsa ona tıklanır. Değişiklikler gözden geçirilir ve “Create pull request”e tıklanır.

Depoyu çatallamak (Forking): Repository’i yani depoyu çatallamak demek, bir depo üzerinde yeni bir proje yapılabilmesi demektir. Daha önce oluşturulmuş repository kopyalanıp gereken değişiklikler yapılıp yeni sürümüyle yeni repository olarak depolanabilir. Bu, yeni bir proje olmasının yanında, merkezi repository’i etkilemez. Uygun gördüğünüz bir repository’i çatallamak için Fork tuşuna tıklanmalıdır.

GitHub’ın Genel Anlamda Olumlu ve Olumsuz Yönleri:
-
Kullanıcıların programlama bilgilerini zenginleştirir.
-İş teklifi alınabilecek bir platformdur.
-Faydalı blog yazıları, postcast’ler bulunur.
-Fikir alışverişi ve işbirliği yapılabilmesini sağlar.
-Bazı açık kaynak proje dosyalarının içerisine anahtar da gizlenmeden eklenirse kötü amaçlı kişiler tarafından bu anahtar çalınabilir.
-Ücretsiz sürümde depolama alanı çok kısıtlıdır. Depolar için sadece 1 GB alan açılmıştır.
Elinize sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.