TARİHTE BUGÜN

Ar-Ge Çalışmaları Açık kaynak kodlu araştırma ve geliştirme projelerinin paylaşıldığı alan.

Seçenekler

Git Nedir? GitHub Nedir? (Kullanım, Videolu Anlatım)

Emperor Federico - ait Kullanıcı Resmi (Avatar)
Geliştirici
Üyelik tarihi:
01/2013
Nereden:
Route 66
Mesajlar:
873
Konular:
145
Teşekkür (Etti):
35
Teşekkür (Aldı):
302
Ticaret:
(0) %
19-09-2018 23:01
#1
Git Nedir? GitHub Nedir? (Kullanım, Videolu Anlatım)
Versiyon Kontrol Sistemi Nedir ? (VCS)
  • Birden fazla yazılımcının aynı anda, birbirlerinin değişiklikleriyle oynamadan bir proje üzerinde çaışabilmesine olanak sağlar.
  • İstenildiğinde eski bir kod kaydına ulaşmaya yarar.

Kod:
"12.12.2012 tarihinde X tarafından güncellenmiştir."

  • Eski sürüm ile yeni sürüm arasında karşılaştırma (compare) yapılmak istendiğinde, bize bunu sağlar ve bu tür sistemlere versiyon kontrol sistemi denir. Bununla birlikte daha birçok özelliği bulunmaktadır.
Git Nedir ?

Git de bir çeşit versiyon kontrol sistemidir. Yazdığımız projeleri bulut bilişim mantığıyla (cloud systems) bilgisayarımızda yerel olarak tutulmasını sağlar.






Linux Dağıtımları İçin Git Kurulumları

Kod:
#Debian Tabanlı Dağıtımlar İçin;
sudo apt-get install git-all


#Redhat Tabanlı Dağıtımlar İçin;
sudo yum install git-all


#DNF Paket Yöneticisi ile Çalışan Dağıtımlar İçin;
sudo dnf install git-all


#Diğer Linux Dağıtımı Kullananlar zaten iyi biliyordur :)
#Windows ve MAC için git-scm.com adresinden indirebilirsiniz.



Konfigürasyon İşlemleri (Configuration)

Konfigürasyon ayalarını yapma sebebimiz bir proje gönderdiğimiz zaman ya da proje de değişiklik yaptığımız zaman, "Bu değişiklikler kim tarafından yapıldı?" sorusu içindir.


Git kurulumu başarılı bir şekilde gerçekleşmiş mi diye kontrol ediyoruz.
Kod:
git --version



Şimdi ise Git'e kendimizi konfigüre edelim.
Kod:
git config --global user.name "İsim Soyisim"
git config --global user.email "email@email.com"




Git Çalışma Ortamı Oluşturmak ve İşlemek (Commit Etmek)





Öncelikle bir Working Directory (Çalışma Dizini) belirliyoruz, burada oluşturduğumuz projeleri Staging Area (Geçiş Bölgesi) adını verdiğimiz evreleme alanına gönderiyoruz, daha sonra gerekli kontrolleri yapıyoruz ve Git Repository'mize depoluyoruz. Olay örgümüz bu şekildedir.


Bir dizin belirleyip orayı Git çalışma ortamı haline getireceğiz.
Kod:
git init


Burada projelerimizi oluşturduktan sonra projemizi Staging Area'ya yolluyoruz, yani geçiş bölgemize.
Kod:
git add .
Kod:
#Buradaki nokta bulunduğu klasördeki tüm dosyaları kapsar, eğer tek bir proje göndermek istiyorsanız;
git add <projeadi>




Projemizin durumunu bir görüntüleyelim, bu komut bizim geçiş bölgemizde neler olup bittiğini söylüyor. Örneğin dosya eklendiyse, "Dosya eklendi, Dosya değiştirildi, Dosya silindi" tarzında.
Kod:
git status

Her şey yolunda, şimdi biz geçiş bölgesindeki projemizi(projelerimizi?) Git depomuza işleyelim, yani Commit edelim.
Kod:
git commit -m "İşleme mesajınızı buraya yazınız."



Git depomuza projemizi Commit ettik.
Loglara bakalım ve oradan da Commit'imizi görelim. Çıktısı, konfigürasyon ayalarını yaptığımız bilgiler ve tarih şeklinde gelecektir.
Kod:
git log






Projelerde Değişiklikleri Görüntüleme ve Proje Silme

Projelerimizin üzerinde değişiklik yaptığımız zaman, nelerin değiştiğini gözlemlemek için diff parametresini kullanacağız. Proje silmek için ise remove rm parametresini kullanacağız.


Working Directory ile Staging Area arasındaki değişiklikleri görmek için;
Kod:
git diff

Staging Area ile Git Repository arasındaki farklı görmek için ise;
Kod:
git diff --staged

Tek bir dosya üzerinde değişiklikleri görmek için;
Kod:
git diff <projeadı>

Çıktı olarak -Burada kodlar var. silinen koddur.
Çıktı olarak +Burada kod var. eklenen koddur.

Proje silme işleminin olay örgüsü;
Dosyayı sileriz ve tekrar Commit işlemi gerçekleştiririz.
Kod:
git rm dosyaadi
git add .
git commit -m "Commit gerçekleşiyor."


GitHub Nedir ?

Git entegreli bir bulut mantığıdır. Projelerimizi insanlara açık şekilde paylaşırız ve orada fikir alış-verişlerine olanak sağlar. Projemizde bir sorun oluştuğunda bir örneğin bir "Issues" (problem) oluşturarak çözümler, tavsiyeler alabiliriz, insanların projemize katkıları olabilir, aynı şekilde biz de faydalanıp onların geliştirmelerine katkıda bulunabiliriz.




Öncelikle üye olmamız gerekmekte. Üye olduktan sonra bilmemiz gereken belli başlı üç şey;
Watch: Bir projeyi izlememizi sağlar ondan haberdar oluruz.
Star: Projeyi yer imlerine ekleriz ve projede atılmış her adım bize bildirim olarak gelir, anasayfamıza düşer.
Fork: Bir projenin kopyasını repository olarak kendimize almaktır.





  • New Repository (+) diyerek yeni bir depo oluşturacağız.
  • Repository adımızı belirliyoruz. Boşluk kabul edilmiyor aralara "-" koyuyor. Buna dikkat ediniz.
  • Opsiyonel olarak açıklama ekleyebilirsiniz.
  • Public ve Private olarak iki seçeneğimiz var. Public herkese açık bir depo alanı oluşturmaktır. Private ise özel alanı oluşturmaktır. Private ücretlidir.(Private için GitLab kullanabilirsiniz.)
GitHub'a proje gönderirken ekstra olarak sadece uzak depo bağlantısı tanıtacağız ve pushlayacağız. (Normal Commit işlemine ekstra olarak.)
Komut istemcimizde depomuza bir takma ad belirleyeceğiz ve bunun üzerinden devam edeceğiz.
Kod:
git remote add <depoyatakmaad> <uzakdepourl>



Commit işlemlerimizi tekrar yapıyoruz ve bu sefer pushluyoruz. Push komutunu verdiğimiz zaman bizden GitHub email ve şifremizi isteyecektir.
Kod:
git add .
git commit -m "first commit"
git push -u takmaad master

.gitignore (İstenmeyen Dosyalar ve Dizinler)


Gönderilmesini, takip edilmesini istemediğimiz dosyaları veya dizinleri bunun içine koyarız ve GitHub'da bu takip edilemez hale gelir. Örneğin database gibi.
Bir .gitignore adında dosya oluşturuyoruz.(adında nokta olmak zorundadır.)
Daha sonra gönderilmesini istemediğimiz dosyanın adını yazıp kaydedip kapatıyoruz.
Tekrar commit işlemi gerçekleştiriyoruz. Oldukça basit.
Kod:
cat >> .gitignore
istenmeyendosya.py
istenmeyen/dizinler/
git add .
git commit -m ".gitignore eklendi"
git push -u takmaad master




Branchs (Dallar)

Bir proje üzerinde birden fazla yazılımcı çalışıyorsa iş kolaylığı açısından görev dağılımı yapılır ve konular belirlenir, bu konulara göre dallar ayrılır bunlara branchs denir. Herkes kendi branchinde yapması gerekeni yaptıktan sonra proje sonunda dallar birleştirilip tek bir dal haline getirilir bu işleme ise merge denir.


Kod:
#Mevcut dalları görüntülemek için;
git branch


#Dal oluşturmak için;
git branch daladi


#Dallar arası geçiş yapmak için;
git checkout daladi


#2 branch arasındaki farklılıkları görmek için
git diff dal1 dal2

Şimdi bu dalları birleştirelim;
git merge daladi


#Projemize gönderiyoruz.
git push -u takmaad daladi




Readme.md

Projemiz hakkında önbilgi veririz. Böylece insanlar projemizin içine girip bu kodlar neyin nesi demezler. Proje hakkında tanımlamaların yapıldığı kısımdır.

Kod:
# Proje Adı (Tek diez en büyük boyuttur, Diez arttıkça boy küçülür. max6)
## Proje Hakkında Bilgi
**Burası Kalın Metin**
*Burası İtalik Metin*

`Kod ise bu şekilde yazılıyor.`
[Link metni](Bağlantı adresi)






---------------------
This film is not recommended.
Ludwig van Federico
Twitter


Konu BufGix tarafından (19-09-2018 23:29 Saat 23:29 ) değiştirilmiştir.
THE HACKER 21 - ait Kullanıcı Resmi (Avatar)
Green Team
Üyelik tarihi:
03/2017
Mesajlar:
3.046
Konular:
90
Teşekkür (Etti):
210
Teşekkür (Aldı):
975
Ticaret:
(0) %
19-09-2018 23:03
#2
Eline Sağlık Güzel Konu Olmuş (:
--------------------- ‘’ Mufassal kıssa başlarsın, garip efsane söylersin.’’

Trackhacker - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2016
Mesajlar:
176
Konular:
33
Teşekkür (Etti):
19
Teşekkür (Aldı):
6
Ticaret:
(0) %
19-09-2018 23:05
#3
Eline sağlık gayet yararlı bir konu
k3~
k3~ - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
10/2015
Mesajlar:
2.881
Konular:
202
Teşekkür (Etti):
1743
Teşekkür (Aldı):
3393
Ticaret:
(0) %
19-09-2018 23:05
#4
Emek olduğu ortada. Eline, koluna sağlık
Emperor Federico Teşekkür etti.
BufGix - ait Kullanıcı Resmi (Avatar)
Geliştirici
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.022
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
447
Ticaret:
(0) %
19-09-2018 23:08
#5
Eline sağlık
---------------------
~Cahile gelmez benden hayır
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Stajyer Moderatör
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.396
Konular:
1036
Teşekkür (Etti):
973
Teşekkür (Aldı):
1792
Ticaret:
(0) %
19-09-2018 23:10
#6
Alıntı:
KeyLo99´isimli üyeden Alıntı Mesajı göster
Emek olduğu ortada. Eline, koluna sağlık
Bu konuda diğer Ar-ge kategorisinde olan 2 konudan daha ayrıntılı, zaten sabitte bir tanesi SeZerin. Iki konunun kaldırılıp, bunun sabitte kalması önerimdir

Ellerine sağlık
---------------------
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.
k3~ Teşekkür etti.
sqruhqn - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2016
Nereden:
Ötüken
Yaş:
18
Mesajlar:
204
Konular:
10
Teşekkür (Etti):
113
Teşekkür (Aldı):
22
Ticaret:
(0) %
20-09-2018 17:21
#7
Hocam elinize sağlık ayrıntılı ve güzel bir konu
--------------------- Aklının almadığı hayallerde değil,kafanin basmadığı gerçeklerde yaşıyorum
ATABÖRÜ - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2017
Nereden:
Ötüken
Yaş:
83
Mesajlar:
3.370
Konular:
303
Teşekkür (Etti):
950
Teşekkür (Aldı):
910
Ticaret:
(0) %
21-09-2018 21:34
#8
Her şeyine sağlık emek var
---------------------
Ey Türk milleti! Kendine dön! Sen yükseltmiş Bilge Kağan'ına, hür ve müstakil ülkene karşı hata ettin, kötü duruma düşürdün. Milletin adı, sanı yok olmasın diye Türk milleti için gece uyumadım, gündüz oturmadım. Kardeşim Kül Tegin ve iki şad ile ölesiye bitesiye çalıştım.
Rhotav - ait Kullanıcı Resmi (Avatar)
Senior Hunter
Üyelik tarihi:
12/2017
Mesajlar:
2.524
Konular:
164
Teşekkür (Etti):
1070
Teşekkür (Aldı):
796
Ticaret:
(0) %
21-09-2018 21:43
#9
Ellerine Sağlık Dostum Çok Yararlı Bir Konu
---------------------


'Flash - ait Kullanıcı Resmi (Avatar)
Researcher
Üyelik tarihi:
07/2017
Nereden:
røøt@:~#
Mesajlar:
821
Konular:
30
Teşekkür (Etti):
1254
Teşekkür (Aldı):
218
Ticaret:
(0) %
21-09-2018 22:03
#10
Ellerine emeğine sağlık.
---------------------
Elbet bir gün.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler