İPUCU

TurkHackTeam Ar-Ge Tim Turkhackteam Araştırma ve Geliştirme Timinin Hazırladığı Program ve Dökümanlar...

Seçenekler

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

21-09-2018 22:05
#11
DarkVenom2 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2018
Nereden:
İstanbul
Mesajlar:
517
Teşekkür (Etti):
54
Teşekkür (Aldı):
51
Konular:
14
Elinini Emğine Sağlık İYİ FORUMLAR İYİ GÜNLER

21-09-2018 22:38
#12
NFK02 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2018
Mesajlar:
42
Teşekkür (Etti):
36
Teşekkür (Aldı):
6
Konular:
6
Mükemmel konu devamlı paylaşımlar gelir umarım
21-09-2018 22:52
#13
ibanez75612 - ait Kullanıcı Resmi (Avatar)
Yazılımcı
Üyelik tarihi:
04/2012
Nereden:
IIS
Mesajlar:
497
Teşekkür (Etti):
68
Teşekkür (Aldı):
76
Konular:
67
Alıntı:
Emperor Federico´isimli üyeden Alıntı Mesajı göster
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"



https://www.youtube.com/watch?v=PFLA...ature=youtu.be

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



https://www.youtube.com/watch?v=pKz4...ature=youtu.be



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."

https://www.youtube.com/watch?v=X79z...ature=youtu.be

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)


https://www.youtube.com/watch?v=xjXf...ature=youtu.be




Ellerinize sağlık hocam yakında bir DevOps Konusu Patlar He
Kullanıcı İmzası
Kanı yerde gururumun bir hayli çok
Düşündüm, kin tutamaz kalbim sana
Neresinden dönsem zarar bu sevdanın
Ne yazık ki çıkmaz sokak kalbim sana

ONURCAN ÖZCAN - 1997-∞
04-10-2018 20:21
#14
KARA ALP - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2018
Nereden:
gizli bilgi
Mesajlar:
749
Teşekkür (Etti):
52
Teşekkür (Aldı):
135
Konular:
71
Ellerine sağlık güzel anlatımlı oldu Gin benim bir çok şeylerde yardımcı oluyor güzel bir konu
Kullanıcı İmzası
illegal diye birşey yokdur yakalanmadığın sürece
10-11-2018 17:17
#15
#BADBOY - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2018
Nereden:
İstanbul
Yaş:
21
Mesajlar:
296
Teşekkür (Etti):
65
Teşekkür (Aldı):
96
Konular:
51
Elinize sağlık faydalı
Kullanıcı İmzası
Bir tek özlemleri deviremedim şu ince bileklerimle
10-11-2018 17:19
#16
Shadowfire - ait Kullanıcı Resmi (Avatar)
Siber Güvenlik Ekibi
Üyelik tarihi:
03/2018
Nereden:
KARANLIK
Mesajlar:
630
Teşekkür (Etti):
43
Teşekkür (Aldı):
71
Konular:
58
Emeğine sağlık
Kullanıcı İmzası
Türkleri öldürebilirsiniz... fakat ASLA YENEMEZSİNİZ


UNDERGROUND
10-11-2018 18:41
#17
Üyelik tarihi:
10/2018
Nereden:
Aydın
Mesajlar:
788
Teşekkür (Etti):
4
Teşekkür (Aldı):
89
Konular:
137
Bilmiyordum, öğrendim teşekkürler .
Kullanıcı İmzası
04-02-2019 14:33
#18
tr06joker - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2018
Nereden:
Ankara
Mesajlar:
121
Teşekkür (Etti):
113
Teşekkür (Aldı):
14
Konular:
41
Alıntı:
Emperor Federico´isimli üyeden Alıntı Mesajı göster
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"



https://www.youtube.com/watch?v=PFLA...ature=youtu.be

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



https://www.youtube.com/watch?v=pKz4...ature=youtu.be



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."

https://www.youtube.com/watch?v=X79z...ature=youtu.be

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)


https://www.youtube.com/watch?v=xjXf...ature=youtu.be




Fatal: Not a git diye bir hata veriyor napıcağım ?
Kullanıcı İmzası
Yavuz Sultan Selim
Cesaret insanı zafere , kararsızlık tehlikeye , korkaklık ise ölüme götürür.

▬▬ι═══════ﺤ

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı