Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan ve Ahmet, Onur, Büşra gibi öğrencilerle birlikte gerçekleştirilen Git version control sistemi ve GitHub kullanımı hakkında kapsamlı bir eğitim içeriğidir.
- Video, Git'in temel kavramlarını, branch oluşturma, commit yapma, push, pull işlemleri ve branch birleştirme gibi temel konuları adım adım göstermektedir. Eğitmen hem komut satırı hem de masaüstü programları (GitHub Desktop, Kitap, Sor) üzerinden Git kullanımını detaylı şekilde anlatmaktadır. Ayrıca, farklı kullanıcıların aynı projede nasıl çalışabileceği ve çakışma durumlarının nasıl çözülebileceği de gösterilmektedir.
- Eğitim içeriğinde master, frontend, development gibi farklı branch'lerin kullanımı, .gitignore dosyası, pull request oluşturma ve GitHub hesabının nasıl oluşturulacağı gibi pratik bilgiler de yer almaktadır. Video, hem yeni başlayanlar için temel bilgileri hem de daha ileri seviye kullanıcılar için branch yönetimi gibi konuları kapsamaktadır.
- 00:02Windows Terminal Açma Yöntemleri
- Windows 10'da terminali açmak için arama çubuğuna "cmd" yazarak Command Prompt veya "PowerShell" yazarak PowerShell penceresi açabilirsiniz.
- Sağ tıklayıp "PowerShell penceresi aç" seçeneği de terminal açmak için kullanılabilir.
- Open CM gibi ek uygulamalar da terminal ekranı açmak için kullanılabilir.
- 01:57Terminal Komutları
- 05:14Dosya ve Klasör İşlemleri
- "cd" komutu ile belirli bir yola doğrudan gidilebilir.
- "mkdir" komutu ile yeni bir klasör oluşturulabilir, örneğin "mkdir dersaltı" ile "dersaltı" adlı klasör oluşturulur.
- "tab" tuşu ile dosya veya klasör isimlerini tamamlayarak yazım hızı artırılabilir.
- 08:27Dosya Oluşturma
- Windows'ta dosya oluşturmak için "type nul > dosyaadi.html" komutu kullanılabilir.
- Linux'ta dosya oluşturmak için "touch" komutu kullanılabilir, ancak Windows'ta bu komut çalışmaz.
- Dosya oluşturma komutlarının karşılıklarını internetten araştırarak öğrenebilirsiniz.
- 11:22Git Versiyonlama Sistemi ve Kullanım Alanları
- Git, yazılım geliştirme ve takım çalışması için kullanılan bir versiyonlama sistemi olup, birçok iş ilanında da görülebilmektedir.
- Git, aynı projede çalışan takımların farklı dosyalar üzerinde çalışarak aynı anda çalışmasını sağlar.
- Git sayesinde yapılan hatalar kolayca geri alınabilir ve kodun farklı versiyonları takip edilebilir.
- 12:53Git Konfigürasyon Ayarları
- Git üzerinden "git config" komutu ile kişisel bilgiler (isim, soyisim, e-posta) ayarlanabilir.
- Global değerler için "git config --global user.name" ve "git config --global user.email" komutları kullanılarak bilgiler güncellenebilir.
- Bu bilgiler, dosyaları Git'e eklediğinizde kimin eklediğini belirtmek için kullanılır.
- 14:42Git Repository Oluşturma ve Temel Komutlar
- Git repository oluşturmak için "git init" komutu kullanılır ve bu komut ile lokal bir repository oluşturulur.
- Git repository içinde gizli bir ".git" dosyası oluşturulur ve bu dosya Windows'ta görünüm ayarlarından "gizli öğeler" seçeneği ile görüntülenebilir.
- "git status" komutu ile dosyaların repository'e eklendiği durumları kontrol edilebilir.
- 17:22Git Index ve Dosya Ekleme İşlemleri
- Dosyaları Git'e eklemek için "git add dosya_adi" komutu kullanılır.
- Tüm dosyaları aynı anda eklemek için "git add ." komutu kullanılabilir.
- Eklenecek dosyaları "git status" komutu ile kontrol edebilir ve yanlış eklenen dosyaları "git reset" komutu ile geri alabilirsiniz.
- 21:09Git Komutları ve Dosya İşlemleri
- Git komutları kullanılarak dosya silme işlemleri yapılabilir, ancak "rm" komutunun yerine başka komutlar da kullanılabilir.
- Git ile silinen dosyaları geri almak için "git checkout" komutu kullanılabilir.
- Git ile yapılan değişikliklerin geçmişini görmek için "git log" komutu kullanılabilir, bu komut her komit için aile bilgisi gösterir.
- 23:35Git Commit İşlemleri
- Git ile yapılan işlemler otomatik olarak not tutulur ve geçmişteki işlemleri görüntülemek mümkündür.
- Her commit birbirinden ayrı ailelere sahip olur ve commit bilgilerinde kimin ne zaman ne yaptığını görebilirsiniz.
- Git ile yapılan commitleri geri almak için "git reset" komutu kullanılır.
- 25:43Git Reset İşlemleri
- Git reset işlemi iki türlü yapılabilir: "soft" ve "hard".
- Soft reset, değişiklikleri ara katmana atar, hard reset ise değişiklikleri tamamen siler.
- Git log komutunun "--oneline" seçeneği ile komitler daha sade ve kolay bir şekilde görüntülenebilir.
- 32:26Git Projesi Yapısı
- Git projelerinde birden fazla dal (branch) oluşturulabilir.
- Projelerde ana dalın ismi "master" olarak belirtilir.
- 33:39Git Branş Kavramı
- Branş (dallanma) kavramı, ana bir ağacımız (master) olup, farklı işler için ayrı branşlar oluşturmak anlamına gelir.
- Branşlar, kodlar arasında karışma olmaması ve çakışmalar engellemek için kullanılır.
- Branşlar oluşturup ayrı çalışmak, aynı alanlarda çalışırken sorunlara neden olmamak için önemlidir.
- 35:00Branş Türleri ve Kullanımı
- Yazılım geliştirme sürecinde genellikle "development" (geliştirme), "test" (test) ve "master" (produksiyon) branşları kullanılır.
- "Development" branşı, bilgisayarda lokal olarak yapılan geliştirmeler için kullanılır.
- "Test" branşı, yapılan değişikliklerin gerçek ortamda sorunsuz çalışıp çalışmadığını kontrol etmek için kullanılır.
- "Master" branşı, onay verildikten sonra ürüne çıkacak olan halidir.
- 35:55Branş Oluşturma ve Yönetimi
- Git komutları ile branş listesini görmek için "git branch" komutu kullanılır.
- Yeni bir branş oluşturmak için "git branch [branş_adi]" komutu kullanılabilir.
- Branşa geçmek için "git checkout [branş_adi]" komutu kullanılır.
- Branş silmek için "git branch -d [branş_adi]" komutu kullanılır, ancak silinecek branş üzerinde olunmamalıdır.
- 41:55Uzak Sunucu ile Çalışma
- Git ile uzak sunucuya (örneğin GitHub) bağlanmak için önce uzak sunucuda bir repo oluşturulması gerekir.
- Oluşturulan repo'nun linki kopyalanıp, yerel projeye "git remote add origin [link]" komutu ile bağlanır.
- Değişiklikleri uzak sunucuya atmak için "git push origin [branş_adi]" komutu kullanılır.
- 46:03Uzak Sunucu Bağlantısı Oluşturma
- Uzak sunucuya bağlantı eklemek için yeni bir dosya oluşturulup "komik" adı veriliyor.
- Uzak sunucu bağlantısı oluşturmak için "git remote add origin" komutu kullanılıyor ve uzak sunucu linki yapıştırılıyor.
- Bağlantı kurulduktan sonra "git push origin master" komutu ile dosyalar uzak sunucuya atılıyor ve şifre sorulmadan işlem tamamlanıyor.
- 51:00Klonlama İşlemi
- Klonlama, bir projenin birebir aynı kodlarını çekmek anlamına geliyor ve klonlama yapılacak yerde git dosyasının olmaması gerekiyor.
- Klonlama için "git clone" komutu kullanılarak uzak sunucudaki proje kopyalanıyor.
- Klonlanan proje kendi klasör ismiyle çekiliyor ve içindeki dosyalar görünür hale geliyor.
- 54:25Değişikliklerin Uzak Sunucuya Aktarılması
- Klonlanan projede yapılan değişiklikler önce "git add" komutuyla ara katmana ekleniyor.
- Değişiklikler "git commit" komutuyla kaydediliyor.
- "git push origin master" komutu ile değişiklikler uzak sunucuya aktarılıyor.
- 57:58Masaüstü Programları ile Git Kullanımı
- Git işlemlerini kodlarla yapmak yanında masaüstü programları da kullanılabilir.
- İki önemli masaüstü programı olarak Sourcetree ve GitKraken geçiyor.
- Bu programlar Git işlemlerini daha kolay yapmaya ve daha güzel gözükmesini sağlamaya yardımcı oluyor.
- 58:53GitPiston Kullanımı ve Klonlama
- GitPiston uygulamasında kullanıcı adı ile giriş yapıldıktan sonra fanın altında klonlama veya lokal repo oluşturma seçenekleri bulunuyor.
- Lokal repo oluşturmak için uygulamadan veya masaüstündeki ders klasöründen seçilebilir.
- Uygulamada history alanı geçmişte yapılan işlemlerin sırasını gösterir, artı işaretleri yeni eklenen dosyaları belirtir.
- 1:00:09GitHub'dan Klonlama İşlemi
- Yeni bir repo oluşturmak için kitap açılıp "yeni reposter" seçeneği kullanılıyor.
- GitHub hesabıyla giriş yapıldıktan sonra otomatik olarak kullanılabiliyor, ekstra kopyalama işlemi gerekmiyor.
- Klonlama işlemi için GitHub hesabından repo seçilip masaüstüne klonlanıyor, klasör oluşturuluyor.
- 1:02:19GitPiston'da Dosya İşlemleri
- Klonlanan klasör açılıp içinde eğitim adında bir dosya bulunuyor.
- GitPiston'da dosyaların ilk defa yüklendiği görülebiliyor ve bu işlem sırasında .git adında bir dosya oluşturuluyor.
- .gitignore dosyası oluşturulup, belirli dosyaların (örneğin .DS_Store, .phpstorm) atılmasını engelleyebiliyor.
- 1:04:56Dosya Yükleme ve Değişiklikler
- Klasöre index.html dosyası oluşturulup içine HTML5 kodu yazılıyor.
- Yeni eklenen dosyalar için yorum yazılabilir, örneğin "anasayfa oluşturuldu" veya "ilk yükleme" gibi.
- Değişiklikler "commit" ile kaydediliyor ve "push" ile uzak sunucuya yükleniyor.
- 1:08:34Değişiklikleri Görüntüleme
- History alanı değişikliklerin tarihçesini gösteriyor ve detaylarına bakılabilir.
- GitPiston'da farklı görünümler bulunuyor ve değişiklikleri farklı şekilde görüntüleyebilirsiniz.
- Branch oluşturma işlemi de gösterilecek ve branchler arasındaki farklar incelenecek.
- 1:10:18Git Branch Oluşturma ve Kullanımı
- Master öğrencisinden yeni bir branch (development) oluşturulabilir.
- Yeni branch oluşturulduktan sonra tüm değişiklikler bu branch üzerine uygulanır.
- Yeni bir dosya (eba) oluşturulup branch'e eklenir ve commit edilir.
- 1:13:01Branch Değişikliklerinin Görünürlüğü
- Master branch'te sadece eba dosyası görünürken, development branch'te eklenen dosya ve değişiklikler görünür.
- Master branch'te sadece eba dosyası görünürken, development branch'te eklenen dosya ve değişiklikler görünür.
- Değişikliklerin master branch'te görünmesi için birleştirme işlemi yapılmalıdır.
- 1:13:51Branch Birleştirme İşlemi
- Branch birleştirme işlemi için iki yöntem vardır: lokal olarak veya GitHub üzerinden.
- Lokal olarak birleştirme için önce master branch'e geçip, "git merge" komutu ile birleştirme yapılır.
- GitHub üzerinden birleştirme için "Pull Request" oluşturulması gerekir.
- 1:16:21Pull Request Oluşturma Süreci
- GitHub üzerinden birleştirme için "Pull Request" oluşturulması gerekir.
- Pull Request oluştururken, hangi branch'in hangi branch'e birleştirileceği belirtilir.
- Çakışma kontrolü yapılır ve onaylandıktan sonra birleştirme işlemi tamamlanır.
- 1:18:00Branch Yönetimi ve İşlem Süreci
- Projeyi yöneten kişi ölçüleme işlemi yapar ve alt branch'ler birleştirilir.
- Çalışanlar kendi branch'lerinde değişiklik yapar, sonra üst branch'e birleştirilir.
- Test tamamlandıktan sonra master branch'e birleştirilir ve produksiyon için hazır hale getirilir.
- 1:19:31GitHub Otantikasyon ve Bağlantı
- GitHub hesabı açmak zorunlu değil, paket açmadan geçme seçeneği de mevcut.
- Options bölümünden otantikasyon ayarları yapılabilir ve hesap bağlantısı kurulabilir.
- Bağlantı kurarken varsayılan tarayıcı üzerinden giriş yapma seçeneği sunulur.
- 1:21:45Proje Açma ve Görünüm Özellikleri
- Mevcut bir projeyi program üzerinden açmak için klasör seçme işlemi yapılır.
- Program, hangi dalda olduğunuzu gösterir ve detaylı yorumları sunar.
- Dallanma ve budaklanma sürecini görsel olarak gösteren özellikler bulunur.
- 1:24:14Dallanma İşlemleri
- Farklı dallara geçiş yapmak için çift tıklayıp sağlama işlemi yapılır.
- Yeni dallar oluşturmak için "branch" komutu kullanılır.
- Dallar arasında dalanma yaparak projenin farklı versiyonlarını oluşturabilirsiniz.
- 1:25:40Değişikliklerin Yönetimi
- Değişiklikleri ara katmana atmak için dosyaları sürükleyip bırakabilirsiniz.
- Değişiklikleri yorumlayıp "commit" ile kaydedebilirsiniz.
- Değişiklikleri "push" ile uzak sunucuya gönderebilirsiniz.
- 1:28:25Değişikliklerin Gösterimi
- Yapılan değişiklikler mavi renkle gösterilir, henüz gönderilmemiş anlamına gelir.
- Değişiklikleri yorumlayıp göndermek için "commit" ve "push" işlemlerini yapabilirsiniz.
- Ara katman attıktan sonra değişiklikleri görebilir ve onları yollayabilirsiniz.
- 1:30:21Git'de Dosya Seçimi ve Geri Alma İşlemi
- Git'te "icerdeki" komutu ile istenen alan gider, ancak değişiklik sonrası dosya gitmez.
- "Seçilen" ve "seslenen" kısım arasındaki fark, kodun emin olduğu kısmı atayıp sonradan geri alabilme imkanı sağlar.
- Bu yöntem sayesinde kodun bozulmadan önceki haline geri dönülebilir ve sorun çözülebilir.
- 1:32:18Birden Fazla Kişi Aynı Dosya Üzerinde Çalışma
- Birden fazla kişi aynı anda aynı dosya üzerinde çalıştığında hata vermesi mümkündür.
- Uzak sunucuya dosya yollarken, diğer kişinin henüz paylaşmadığı dosyaların haberi olmadığı için hata oluşabilir.
- Dosyaları paylaşmak için önce "tablo" komutu ile paylaşma işlemi yapılmalıdır.
- 1:33:22Git'de Dallanma ve Geçiş İşlemleri
- Git'te dallanma (branch) yaparak farklı kollar oluşturulabilir ve arasında geçiş yapılabilir.
- Dallanma yaparken renk kodları kullanılarak kollar görsel olarak ayrıştırılabilir.
- Master dalı üzerinde değişiklik yapıldığında, diğer dalların son durumundan haberdar olması için "pull" işlemi yapılmalıdır.
- 1:37:41Git History ve Dallanma Gösterimi
- "Git history" komutu ile dallanmaların nasıl birleştirdiği ve hangi dosyaların değiştirildiği görülebilir.
- Dallanmaları görebilmek için "git log --graph --oneline --all" gibi komutlar kullanılabilir.
- Bir dosya üzerinde aynı anda birden fazla kişi çalıştığında hata alınabilir.
- 1:38:32Git Branch İşlemleri
- Frontend branch'i ana dizine (master) çekmek için işlem yapılacak.
- Frontend branch'i login branch'i üzerinden açılmıştı ve şimdi bu branch'i birleştirmek gerekiyor.
- Önce bugünkü branch'e geçip frontend'i bugüne, sonra bugünü de master'a birleştirmek gerekiyor.
- 1:40:51Branch Birleştirme İşlemi
- Önce bugünkü branch'e geçip frontend'i bugüne birleştiriyoruz.
- Ardından bugünü de master'a birleştiriyoruz.
- Development branch'inden login branch'i açılmış ve login'in içinde frontend ve backend olarak ikiye bölünmüş.
- 1:43:12Çakışma Sorunu ve Çözümü
- İki kişi aynı dosya üzerinde değişiklik yapınca çakışma sorunu yaşanıyor.
- Bir kişinin değişikliğini diğerinin branch'ine çekmek istediğinde çakışma hatası alınıyor.
- Çakışma çözümü için dosyaları açıp çakışan kısımları manuel olarak çözüyoruz.
- 1:47:45Proje Yönetimi ve Takım Çalışması
- Gelecek süreçte öğrenciler sadece commit ve push işlemleri yapacaklar.
- Grup olarak projeler verilecek ve branch mantığını öğrenmek için takım çalışması yapılacak.
- Bu süreçte proje yönetimi konusunda ufaktan başlayacaklar ve branch birleştirme işlemlerini öğrenecekler.
- 1:50:42Git Branch Struktürü ve Amacı
- Eğitmen, "front-end" ve "beykent" adında iki branch'i gösteriyor ve bunların birleştirdiği bir yapıyı anlatmaya çalışıyor.
- Eğitmen, "login" ve "register" adında iki farklı işlemi göstererek, bu işlemlerin birbirinden ayrı olduğunu vurguluyor.
- "Register" branch'i altında "form işlemleri" ve "kontrol tarafı" olarak iki farklı branch oluşturulmuş.
- 1:52:16Development Branch'in Amacı
- Eğitmen, "master'dan development çıkartmanın" amacını soruyor ve öğrencilerden cevap bekliyor.
- Öğrenci, development branch'in geliştirme ortamını kurtarmak ve sorunları önlemek için oluşturulduğunu belirtiyor.
- Eğitmen, normalde test branch'inin development branch'inden önce geldiği ve testten sonra development, sonra da master'a aktarıldığı bilgisini ekliyor.
- 1:54:04Gerçek Hayattaki Uygulama
- Büşra, staj yaptığı yerdeki uygulamayı anlatıyor: Herkes development kısmına yaptığı değişiklikleri atıyor.
- İki günde bir güncel bir şekilde aktarım yapılıyor ve test kısmına aktarılıyor.
- Test kısmında test mühendisleri çalışıyor, sorun yoksa onaydan geçip master kısmına aktarılıyor.