Jump to content
  • 1
Sign in to follow this  
admin

Git ve Github Nedir?

Question

 

 

Bu satırları okuduğuna göre muhtemelen kendine “her yerde karşıma çıkıyor bu git. Ne acaba?” diye soruyorsundur. Kafandaki bu soruları gidermek amacıyla elimden geldiğince git ve github nedir? anlatayacağım.

Günlük hayatının önemli bir kısmını yazılım ile geçirenler belli bir zaman sonra yazmış olduğu kodların içerisinde boğulmaya başlar. Bu kadar kodları bir arada tutabilsek ve ihtiyacımız olduğu anda istediğimiz yerden doğruca kodlarımıza ulaşabilsek aslında ne güzel olurdu değil mi? İşte bu noktada git, bize bu olanakları sağlayan bir yapı sunuyor. Peki tam olarak git ne demek?

Öncelikle isterseniz wikipedia (özgür ansiklopedi)'nın git hakkında yapmış olduğu tanıma bir bakalım.

Alıntı

Git, yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir sürüm kontrol ve kaynak kod yönetim sistemidir. İlk sürümü Linux çekirdeği'nin geliştirilmesinde kullanılmak üzere 2005 yılında bizzat Linus Torvalds tarafından tasarlanıp geliştirilmiş, son Eclipse kullanıcı topluluğu anketi verilerine göre 2013 yılı itibarıyla %30 pazar payına ulaşmıştır.[1]

Git sürüm kontrol sistemini kullanan her bir çalışma dizini (proje), internet erişimi ya da merkezi bir depo olmaksızın tüm tarihçeyi tutan ve sürüm kontrol sisteminin tamamını içinde barındıran tam yetkili birer depodur. Ayni çalışma dizininin birçok depodan birindeki kopyasında yapılan değişiklikler diğerlerine güven temelli bir değerlendirmeyle kabul edilir; Güvenilmeyenden değişiklik alınmaz, o kendi ayrı sürümünü geliştirmeye devam eder.

Git'in şu anki yazılım bakıcılığını Junio Hamano üstlenmiş durumda. Git, GNU Genel Kamu Lisansı'nın 2. sürümüyle lisanslanmış bir özgür yazılımdır.

tanımdan da anladığımız üzere aslında git, yazılım dünyasındaki gelişimleri takip edebilmek için en popüler versiyon kontrol sistemidir.

Git bize ne gibi faydalar sunuyor?

Örneğin bir proje üzerinde geliştirme yapmaktasınız. Projede defarlarca kodlar yazılıyor. Her yazılan kod satırı belirli bir düzenlemelerden sonra güncellenerek tekrar yazıldığını düşünelim. Bizlerin bu kadar kod güncellemesini aklımızda tutmamızın olanağı yoktur. Bu yüzden git sayesinde daha önce yazmış olduğumuz kodlara erişebilmekteyiz.

Örneğin şu şekilde düşünelim. Arkadaşınız ile proje geliştirmek istediğinizde sizdeki kodları ona, ondaki kodları da sizin almanız, güncelleme yaparak tekrar bu işlemi gerçekleştirmeniz gerekecektir. Bilgisayarınızda muhtemelen şu şekilde dosyalar oluşacaktır; “ProjeYeni, ProjeEnYeni, ProjeSon,ProjeEnson” peki bunların arasında en yeni olan hangisidir? (: bu yüzden git üzerinde projemizin en güncel olan versiyonuna direkt ulaşabiliriz. Hal böyle olunca arkadaşımızın yazdığı kodları doğrudan görüp inceleme fırsatı yakalayabilir, hangi kodların değiştiğini de görebiliriz.

Bir ekip ile yürütülen projelerde her ekip geliştiricisinin kendi bilgisayarı içerisinde kurulumunu yapacağı git sayesinde yine her geliştiricinin kendine ait bir versiyon kontrol ağacı bulunur. Bizler kendi bilgisayarımızdaki kontrol sistemine doğrudan kodları gönderir, bazı noktalara geri döner, kodları değiştirir, değişiklikleri görüp, en güncel versiyonu da genel olarak tutulan bir git deposu(repository)’na göndeririz. Bu git deposu ise github olarak adlandırılmaktadır. 

GitHub Nedir?

github'ın tanımı için isterseniz yine wikipedia'dan yardım alalım. Wikipedia github için şöyle bir tanım yapmaktadır;

Alıntı

GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için web tabanlı bir depolama servisidir. GitHub özel depolar için ücretli üyelik seçenekleri sunarken, açık kaynaklı projeler için ücretsizdir. Mayıs 2011 itibarıyla GitHub açık kaynaklı projeler tarafından tercih edilen en popüler depolama servisidir.[2]

aslında bir nevi yazılımcıların facebook'u diyebiliriz. 

Git ve Github kullanmadan önce bilmemiz gereken bazı kelimeler bulunmaktadır. Bu kelimeler yazılımcıların dillerinden eksik olmayan neredeyse gündelik hayatlarının bir parçası haline gelmiş olan kelimelerdir.

Bilmeniz gereken basit ve temel terimler

Clone: Uzak bir depodan yerel depoya kopya alır.

Commit: Yerel bir depoda yapmış olduğunuz değişiklikleri yorum mesajı ile kaydeder.

Checkout: Versiyon ağacının dallarında geçiş yapar.

Pull: Uzak bir depodan kendi yerel deponuza kodları çeker.

Push: Uzak bir depoya yorum mesajı ile yapmış olduğunuz işlemleri gönderir.

Visual Studio 2019 ile Github'a Nasıl Proje Yollayabilirim?

ilk olarak https://github.com adresinden üye olmanız gerekmektedir. Üye olduktan sonra kullanıcı adınız ile giriş yapmalısınız.

1.png

2.png

ardından oluşturacağınız depo(repository)'ya bir isim vermeniz gerekmektedir.

3.png

aşağıda işaretlenmiş olan adresi seçerek kopyalayın.

4.png

visual studio 2019'u açarak "Clone or check out code" butonuna tıklayın.

5.png

kopyalamış olduğunuz github depo (repository) adresinizi "Repository location" alanına yapıştırdıktan sonra projeyi bilgisayarınızda hangi alana kopyalamak istiyorsanız ilgili bölümü ilgili ... kutudan seçiniz. Ya da dilerseniz "Browser a repository" altında bulunan GitHub seçeneğini tıkalyarak giriş yapıp yine kopyalaaycağınız alanı seçebilirsiniz. (ilk defa kopyalama yapacaklar için tavsiye)

6.png

Clone (kopyalama) işlemi tamamlandıktan sonra aşağıdaki görselde de gördüğünüz gibi şu an sadece oluşturulan depoya ait bir adet klasör bulunmaktadır. Herhangi bir proje dahil edilmediği için içerisi boş.

7.png

sağdaki menüden "Team Explorer" sekmesine tıklandığında uzaktaki depo (repository) adını görebilmekteyiz. "Projects" e tıklandığında GitHub yönetim panelini görebiliriz.

8.png

oluşturulan klasörde herhangi bir proje bulunmadığı için Solutions altında bulunan "New..." linkine tıklayarak yeni proje oluşturalım...

9.png

projeyi oluşturduktan sonra solution Explorer pencersinde WebApplication1 isimli projemizin solunda yeşil renkte + simgesini görmekteyiz. Bunun anlamı; proje oluşturuldu ancak bu proje henüz kendi yerel git depomuza gönderilmedi.

10.png

Team Explorer sekmesine tıkladığımız ilk olarak Changes isimli bir buton görmekteyiz. Bu buton projede yapmış olduğumuz bütün değişiklikleri görüp, yerel depomuza bu değişiklikleri göndermemizi sağlar. Changes butonuna tıklayalım...

11.png

yapılan işlemlere ait bir yorum yazarak ardından "Commit All" butonuna tıkladığımız yapmış olduğumuz bütün işlemleri yerel depomuza gönderelim...

12.png

ancak ilk etapta aşağıdaki görselde olduğu gibi bir hata almamız muhtemeldir. Hatanın detayında da belirtildiği gibi bi takım dosyaları yerel depomuza aktarmak için izin vermemiz gerekmektedir. bu tür dosyaları görmezden gelip hata almadan "Commit" işlemlerimizi yapabilmek adına diğer adıma geçelim...

13.png

Settings butonuna tıklayarak Repository ayarlarına ulaşalım...

14.png

15.png

işaretli alan içerisinde bulunan "Add" linkine birkez tıkladığımız visual studio yukarıda hata almış dosyaları yerel depomuza gönderirken artık görmezden gelecek.

16.png

Tekrar "Commit All" butonuna tıkladığımız başarılı oalrak yerel depomuza yapmış olduğumuz değişiklikleri gönderdiğimizi görebiliriz. Ardında mesajda belirtilen "Sync" linkine tıklayalım...

17.png

 

18.png

yerel depomuza göndermiş olduğumuz iki adet değişikliği "Outgoing Commits" altında görebilmekteyiz. bu işlemlerin ardından "Push" linkine tıkladığımız Kopyalamış (Clone) olduğumuz adrese yerel depomuzda bulunan işlemleri gönderebiliriz... 

19.png

Visual Studio 2019 üzerinde açmış olduğumuz proje ve üzerinde yapmış olduğumuz bütün işlemleri artık uzak depomuza gönderdik. Kontrol edelim...

20.png

21.png

yukarıda da görmüş olduğunuz gibi boş olarak açmış olduğumuz github depomuza artık kendi bilgisayarımızda bulunan dosyaları Visual Studio 2019 ile gönderdik. Eğer işlemler sırasında herhangi bir hata alırsanız bu konu altında paylaşabilirsiniz.

Kolay gelsin herkese...

  • Thanks 2

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...