Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Mert Ekrem adlı bir elektrik-elektronik mühendisliği öğrencisi ve DYL Kulübü'nün CS Komitesi başkanı tarafından sunulan kapsamlı bir Git ve GitHub eğitim dersidir. Eğitmen, bir buçuk saat süren eğitimde interaktif bir şekilde izleyicilerden sorular alarak ilerlemektedir.
- Video, versiyon kontrol sistemlerinin ne olduğunu açıklayarak başlayıp, Git'in tarihçesi, temel kavramları ve avantajlarını anlatmaktadır. Ardından Git komutlarının kullanımı (init, add, commit, branch, merge, pull request), GitHub hesabı oluşturma, repository yönetimi, branch yönetimi ve conflict çözümleri gibi konular adım adım gösterilmektedir. Eğitim, Markdown diline giriş ve GitHub profil özelleştirme ile sona ermektedir.
- Eğitim içeriğinde ayrıca Visual Studio Code, GitKraken ve Git Desktop gibi Git ile uyumlu araçlar, GitHub Pages, open source projelerin önemi ve GitHub Education programı hakkında bilgiler de paylaşılmaktadır. Video, Git cheatsheet'i ve GitHub dökümantasyonu gibi kaynaklara yönlendirme ile izleyicilere ileri seviye öğrenim için temel bir platform sunmaktadır.
- 00:04Giriş ve Konuşmacının Tanıtımı
- Konuşmacı Mert Ekrem Üniversitesi'nde elektrik-elektronik mühendisliği okuyan üçüncü sınıf öğrencisi ve DYL Kulübü'nün CS Komitesi başkanıdır.
- Bu konuşmada Git ve GitHub versiyon kontrol sistemleri hakkında bilgi paylaşacağını belirtiyor.
- Özellikle yazılım okuyan veya yazılıma yönelmek isteyen arkadaşlar için önemli olduğunu vurguluyor.
- 01:19Versiyon Kontrol Sistemleri
- Versiyon kontrolü, repository'yi kontrol etmenizi ve hakimiyet kurmanızı sağlar; repository bir proje dosyası olarak düşünülebilir.
- Versiyon kontrolü, proje üzerinde yapılan değişiklikleri takip etmenizi, kimin ne zaman ne için değiştirdiğini görmenizi sağlar.
- Bu sistemler projenin back-up'ını almanızı, hatalı değişikliklerde eski haline döndürmenizi ve takım halinde çalışmanızı sağlar.
- 03:36Versiyon Kontrol Sistemlerinin Türleri
- Üç farklı versiyon kontrol sistemi vardır: lokal, merkezi ve dağıtımlı versiyon kontrol sistemleri.
- Lokal versiyon kontrol sistemlerinde erişim kısıtlıdır, çünkü sadece lokal olarak erişilebilir.
- Merkezi versiyon kontrol sistemlerinde ortak bir sunucuya bağlanılır, ancak sunucunun başına bir şey gelirse proje kaybolabilir.
- Dağıtımlı versiyon kontrol sistemleri (Git) projenin cloud'da olması ve takım üyeleri bilgisayarlarında proje kopyasına sahip olması avantajı sağlar.
- 05:22Git ve GitHub
- Git şu anda en çok kullanılan versiyon kontrol sistemidir ve kullanıcı dostu, ücretsiz ve açık kaynak kodlu (open source) özelliğine sahiptir.
- Git sadece kod için değil, web sitesi hostlama gibi farklı amaçlar için de kullanılabilmektedir.
- GitHub, ortak bir kitap yazma gibi çeşitli amaçlar için de kullanılabilir.
- 06:57Versiyon Kontrol Sistemlerinin Önemi
- Versiyon kontrolü, takımların aynı anda aynı projede çalışmasını ve paralel olarak değişiklik yapmasını sağlar.
- Çakışan noktalar (conflict) olursa, bunları projenin içine koyduktan sonra birlikte değerlendirebilir ve çözebilirsiniz.
- GitHub aynı zamanda yazılımcılar için portföy olarak kullanılır ve iş arayışında önemli bir avantaj sağlar.
- Git, test amaçlı branch sistemi ile yeni özelliklerin test edilmesini ve sadece çalışıp çalışmadığını kontrol etmenizi sağlar.
- 10:30Git'in Tarihçesi ve Özellikleri
- Git, Linus Torvalds ve ekibi tarafından 2005 yılında BitKeeper versiyon kontrol sistemini kullanamadıkları için kendi versiyon kontrol sistemini oluşturmak için geliştirilmiştir.
- Git, hızlı çalışması, snapshot özelliği sayesinde sadece değişen dosyaları kaydetmesi ve lokal olarak çalışması gibi avantajlarla kullanıcı dostu bir sistemdir.
- Git, açık kaynaklı ve ücretsiz bir yazılımdır.
- 13:17Git Terminolojisi
- Repository (repo), projenizin ana dosyasıdır ve branch'ler (dallar) projenin farklı özelliklerini veya bug fix'lerini içeren ayrı alanlardır.
- Commit, yapılan değişiklikleri kaydetmek için kullanılır ve değişikliğin ne zaman yapıldığı ve neden yapıldığı bilgisini içerir.
- Pull request, bir branch'teki değişiklikleri ana branch'e entegre etmek için kullanılan bir süreçtir.
- 16:38Git Çalışma Mantığı
- Git'te dosyalar üç şekilde bulunur: modify (değiştirilmiş), unmodify (yeni eklenmiş) ve staged (eklenen) durumlarda olabilir.
- Commit edilen dosyalar, değişikliklerin tarihçesini oluşturur ve projenin gelişimini izlemeyi sağlar.
- Bug fix örneğinde, master branch'ten ayrı bir branch açılarak hata düzeltilebilir ve test edildikten sonra ana branch'e entegre edilebilir.
- 19:03Git Kurulumu ve Kullanımı
- Git'in resmi sitesinden işletim sisteminize uygun sürümünü indirebilirsiniz.
- Kurulum sonrası komut satırında "git --version" yazarak Git'in doğru kurulduğunu kontrol edebilirsiniz.
- Git Bash, Windows, Linux ve MacOS gibi farklı platformlarda eşit çalışabilen bir komut satırı aracıdır.
- 21:54Git Bash Komutları
- "pwd" komutu mevcut çalışma dizinini gösterir.
- "touch" komutu yeni bir dosya oluşturmak için kullanılır.
- "clear" komutu ekranı temizler, "cd" komutu klasör değiştirir, "mkdir" komutu yeni bir klasör oluşturur.
- 24:39Git Kullanımı
- Git klasörü oluşturmak için "git init" komutu kullanılır ve bu komutla birlikte gizli .git klasörü oluşturulur.
- Git aktif olan dosyaları takip eder ve değişiklikleri gösterir, şu an main branch'indeyiz (eski master branch yerine).
- Yeni dosya oluşturduğumuzda "git status" komutu ile değişiklikleri görebiliriz, bu dosya henüz takip edilmemektedir.
- 27:36Git Değişiklikleri ve Commit İşlemi
- Değişiklikleri staging area'ya eklemek için "git add" komutu kullanılır, dosya adı belirtirseniz sadece o dosya eklenir.
- Commit yapmak için "git commit -m 'commit mesajı'" komutu kullanılır, commit mesajı genellikle birinci halinde ve ne değişiklik yapıldığını açıklayan bir mesaj olmalıdır.
- İlk defa git kullanıyorsanız, kullanıcı adı ve e-posta bilgilerinizi belirtmeniz gerekir.
- 32:58Git Log ve Reset İşlemi
- Git log komutu ile yapılan değişikliklerin kim tarafından, ne zaman yapıldığı ve commit mesajları görüntülenebilir.
- Her commit için benzersiz bir hash kodu oluşturulur, bu kod kullanılarak geçmiş commitlere geri dönebilirsiniz.
- "git reset --hard hash_kodu" komutu ile belirli bir commit'e geri dönebilir ve o commit'e kadar olan değişiklikleri geri alabilirsiniz.
- 35:30GitHub Hakkında
- GitHub, kar amacı gütmeyen bir şirket olup, projeleri barındırma ve takımların çalışması için kullanıcı dostu bir platform sunar.
- GitHub, öğrenciler için ücretsiz hizmetler ve eğitim paketleri sunar, özellikle Unity gibi yazılımların premium sürümlerine ücretsiz erişim sağlar.
- GitHub, kişisel portföy oluşturmak, mülakatlar için kod paylaşmak ve açık kaynak projelerinin gelişimine katkıda bulunmak için önemli bir kaynaktır.
- 39:24GitHub'da Repository Oluşturma
- GitHub'da repository oluştururken, isimlerin benzersiz olması gerekir; örneğin "git" adında ikinci bir repositori açamazsınız.
- Repository'ler public veya private olabilir; open source projeler için public, özel takımlar için private olabilir.
- README dosyası projenizi açıklayan ilk anasayfa gibi düşünülebilir, .gitignore dosyası ise takip etmemek istediğiniz dosyaları belirtmenizi sağlar.
- 41:34GitHub Arayüzünde Dosya İşlemleri
- GitHub arayüzünde "Create new file" seçeneği ile yeni dosyalar oluşturabilirsiniz.
- Dosya oluşturduktan sonra commit mesajı girmeniz ve commit etmeniz gerekir.
- Commit history'ini görüntüleyerek hangi değişikliklerin yapıldığını, kim tarafından yapıldığını ve ne zaman yapıldığını görebilirsiniz.
- 44:02Repository'yi Klonlama ve Initialize Etme
- Mevcut bir repository'yi klonlamak için "git clone" komutunu kullanabilirsiniz.
- Yeni bir repository oluşturmak için "git init" komutu ile klasörünüzü initialize edebilirsiniz.
- "git remote add origin" komutu ile uzak repository'yi bağlayabilirsiniz.
- 47:40Fetch ve Pull İşlemleri
- "git fetch" komutu ile uzak repository'deki değişiklikleri lokal repository'nize çekebilirsiniz.
- "git pull" komutu ile uzak repository'deki değişiklikleri lokal branch'inize entegre edebilirsiniz.
- "git log" komutu ile commit geçmişinizi görüntüleyebilirsiniz.
- 50:22Branch Yönetimi
- Branch'ler projenin farklı özelliklerini veya hataları için ayrı ayrı geliştirilmesini sağlar.
- "git branch" komutu ile mevcut branch'leri görebilir, "git checkout" komutu ile branch'ler arasında geçiş yapabilirsiniz.
- Branch'ler projenin lineer olmayan geliştirilmesini sağlar, böylece ana branch'in aksine paralel olarak farklı özellikler geliştirilebilir.
- 56:24Git Branch İşlemleri
- Feature branch'i main branch'e eklemek için "git merge" komutu kullanılır.
- Merge işlemi sonrası feature branch'in işine yaramadığı durumlarda silinebilir.
- "git log" komutu ile branch işlemlerinin geçmişini görebilirsiniz.
- 58:39Visual Studio Code'da Git Kullanımı
- Visual Studio Code'da kaynak kodları düzenlemek için kullanılır ve kendi source kontrolü vardır.
- Değişiklikler yapıldığında dosyaların yanında bir ibare görünür ve bu ekleme yapıldığını gösterir.
- Değişiklikleri stageleyip commitleyebilir, ayrıca Power Shell'den "git status" komutu ile commitlenecek değişiklikleri görebilirsiniz.
- 59:41Branch Birleştirme ve Konflikt Çözümü
- Farklı branch'lerde aynı dosyayı farklı şekillerde değiştirdiğinizde merge işlemi sırasında konflikt olabilir.
- Visual Studio Code'da konflikt çözümü için "accept current change", "accept incoming change", "accept both changes" veya "compare" seçenekleri sunulur.
- Konflikt çözüldükten sonra merge işlemi commitlenir ve branch'ler birleştirilir.
- 1:13:08GitHub Özellikleri
- GitHub Pages, kullanıcıların web sitelerini yayınlamasını sağlar ve kendi GitHub kullanıcı adınızla bir repository oluşturarak web sitesi oluşturabilirsiniz.
- Profil eğitimi için, kendi GitHub kullanıcı adınızla bir repository oluşturup içine bir README dosyası koyabilirsiniz, bu dosya profilinizde yayınlanır.
- README dosyaları normalde projeleri açıklamak için kullanılır, ancak GitHub'da özel bir şekilde kullanılarak profil bilgileri sergilenir ve Markdown dilinde düzenlenebilir.
- 1:16:33Open Source ve GitHub
- GitHub, open source'un büyük bir kaynağıdır ve ücretsiz uygulamalar sunarak marketin domine edilmesini engeller.
- NASA, Facebook, Chromium, Atom gibi büyük kuruluşlar GitHub'da open source projeleri barındırır.
- Open source projeleri folklayarak değiştirebilir, kullanabilir ve değişikliklerinizi orijinal projeye bildirebilirsiniz.
- 1:19:35GitHub Eğitim ve Uygulamalar
- GitHub Education programı, öğrenciler için kolay başvuru ve çeşitli avantajlar sunar (JetBrains uygulamaları, DataCamp abonelikleri, GitHub Pro).
- Visual Studio Code, GitHub'ı kullanmak için komut satırı veya GitHub'ın kendi sitesini kullanabilirsiniz.
- GitKraken, Git Desktop gibi uygulamalar, Git işlemlerini komut satırı kullanmadan görsel olarak takip etmenizi sağlar ve özellikle büyük ölçekli projeler için yararlıdır.
- 1:23:49Git ve GitHub Kaynakları
- Big dogs, add status gibi Git komutlarının ne yaptığı ve nasıl kullanıldığı hakkında bilgi sağlar.
- Git'in kendi sitesindeki dökümantasyon ve GitHub'ın Git cheatsheet'i kullanışlı kaynaklardır.
- Git cheatsheet'i özellikle Git ilk kullanırken ne yapılacağı konusunda yararlıdır.
- 1:25:03Markdown Diline Giriş
- Markdown, başlık belirleme, yazı stilini belirleme, resim ekleme, link ekleme gibi özellikleri sunan bir dildir.
- Markdown ile checkbox yapabilir, çeşitli formatlar oluşturabilir ve güzel gözüken şeyler yapabilirsiniz.
- GitHub profilinizi veya portföyünüzü Markdown kullanarak oluşturabilirsiniz.
- 1:26:18Kapanış ve Öneriler
- Git ve GitHub'ın temel kullanımını anlatmayı amaçlayan bu etkinlik bir buçuk saat sürmüştür.
- Git komutlarını ezberlemek zorunda değilsiniz, cheatsheet'i kullanarak baka baka kullanabilirsiniz.
- GitHub ile ilgili sorularınız olursa, sohbet duyuru gruplarından sorabilirsiniz.