Ana içeriğe geç

Yol haritası · Başlangıç

Sıfırdan Git

Commit'ler, branch'ler ve pull request'ler; ardından hataları korkmadan geri almak.

Git'i güvenle kullanmak için gereken her şey: çalışmanızı kaydetmek, branch açıp birleştirmek, başkalarıyla paylaşmak, bir şey bozulduğunda geri dönmek ve ekiplerin bunun üzerine kurduğu çalışma biçimleri.

39 sayfa5 bölümyaklaşık 1 saat okuma

  • Sürüm Kontrolü

Henüz başlanmadı0/39 okundu

Sürüm Kontrolü ile başla

İlerleme, yalnızca bu tarayıcıda tutulan okuma geçmişinizden gelir.

1. bölümÇalışmanızı kaydetmek

  1. 1Sürüm KontrolüSürüm Kontrolü, s. 38Sürüm kontrolü, dosyalardaki her değişikliği kaydeden; kimin neyi değiştirdiğini görmeyi, eski sürümlere dönmeyi ve paralel çalışmayı sağlayan sistemdir.
  2. 2GitSürüm Kontrolü, s. 10Git, dosyalardaki değişiklikleri zamanla izleyen ücretsiz, açık kaynaklı dağıtık sürüm kontrol sistemidir; iş birliğini ve hataları geri almayı kolaylaştırır.
  3. 3RepositorySürüm Kontrolü, s. 34Repository, bir projenin tüm dosyalarını ve sürüm kontrol sisteminin kaydettiği her değişikliğin eksiksiz geçmişini barındıran depolama alanıdır.
  4. 4Git CloneSürüm Kontrolü, s. 13Git clone, mevcut bir deponun tüm geçmişiyle birlikte eksiksiz bir kopyasını indiren ve çalışmanız için bilgisayarınızda hazırlayan bir Git komutudur.
  5. 5Staging AreaSürüm Kontrolü, s. 37Git'teki staging area, dosyalarınız ile bir sonraki commit arasındaki bekleme alanıdır; o commit'e girecek değişiklikleri tam olarak buraya koyarsınız.
  6. 6CommitSürüm Kontrolü, s. 5Commit, Git'te projenin dosyalarının; benzersiz bir kimlik, yazar, zaman damgası ve değişikliği anlatan bir mesajla kaydedilmiş anlık görüntüsüdür.
  7. 7Git DiffSürüm Kontrolü, s. 14Git diff, çalışma dosyaları, stage edilmiş değişiklikler veya commit'ler gibi kodunuzun iki sürümü arasındaki tam satır satır farkları gösteren Git komutudur.
  8. 8.gitignoreSürüm Kontrolü, s. 1.gitignore, Git'in izlememesi gereken bağımlılık, derleme çıktısı, günlük ve gizli bilgi gibi dosya ve klasörlerin kalıplarını listeleyen düz metin dosyadır.
  9. 9HEADSürüm Kontrolü, s. 27HEAD, Git'te checkout edilmiş olanı, normalde bulunduğunuz branch'i gösteren işaretçidir; o branch da son commit'ini gösterir, yeni commit'ler oraya eklenir.

2. bölümBranch'ler

  1. 10BranchSürüm Kontrolü, s. 2Git'te branch, bir özellik ya da düzeltme üzerinde, birleştirene kadar ana kodu etkilemeden çalışmanızı sağlayan bağımsız bir geliştirme hattıdır.
  2. 11Git CheckoutSürüm Kontrolü, s. 12git checkout başka bir branch'e ya da commit'e geçer veya dosyaları önceki sürüme döndürür; yeni Git sürümleri bu işleri git switch ve git restore'a ayırır.
  3. 12MergeSürüm Kontrolü, s. 29Git'te merge, bir branch'teki değişiklikleri başka bir branch'e katarak ayrı geliştirme hatlarını tek ve ortak bir geçmişte yeniden birleştirir.
  4. 13Fast-Forward MergeSürüm Kontrolü, s. 8Fast-forward merge, hedef branch'te diğer branch ayrıldığından beri yeni commit yoksa olur; Git merge commit'i oluşturmaz, işaretçiyi yalnızca ileri taşır.
  5. 14Merge ConflictSürüm Kontrolü, s. 30Merge çakışması, iki branch bir dosyanın aynı satırlarını değiştirdiği için Git'in otomatik birleştiremediği, sonuca birinin karar vermesi gereken durumdur.
  6. 15RebaseSürüm Kontrolü, s. 33Git'te rebase, bir branch'in commit'lerini başka bir commit'in üzerine yeniden uygular; geçmişi yeniden yazıp merge commit'siz, temiz ve doğrusal kılar.
  7. 16Git StashSürüm Kontrolü, s. 22Git stash, commit edilmemiş değişiklikleri geçici olarak saklayıp çalışma dizinini temizleyen komuttur; başka işe geçip çalışmanıza sonra dönmenizi sağlar.
  8. 17Detached HEADSürüm Kontrolü, s. 7Detached HEAD, bir branch yerine belirli bir commit'i checkout ettiğiniz ve yaptığınız yeni commit'lerin hiçbir branch'e ait olmadığı bir Git durumudur.

3. bölümBaşkalarıyla çalışmak

  1. 18Git RemoteSürüm Kontrolü, s. 19Git remote, deponuzun genellikle bir sunucudaki başka bir kopyasına verilen, origin gibi bir kısa addır; commit'leri oraya push eder, oradan pull edersiniz.
  2. 19Git FetchSürüm Kontrolü, s. 15git fetch, uzak depodan yeni commit, branch ve etiketleri indirip origin/main gibi uzak izleme branch'lerini günceller; sizin branch ve dosyalarınız değişmez.
  3. 20Git PullSürüm Kontrolü, s. 17Git pull, uzak bir depodan yeni commit'leri indiren ve bunları hemen mevcut yerel branch'inize entegre eden bir Git komutudur.
  4. 21Git PushSürüm Kontrolü, s. 18Git push, yerel commit'lerinizi uzak bir depoya yükleyip oradaki ilgili branch'i güncelleyen Git komutudur; böylece başkaları çalışmanızı görüp kullanabilir.
  5. 22GitHubSürüm Kontrolü, s. 25GitHub, Git depolarını barındırıp birlikte kod yazmaya yarayan; pull request, kod incelemesi, issue ve en büyük açık kaynak topluluğunu sunan platformdur.
  6. 23GitLabSürüm Kontrolü, s. 26GitLab, kod inceleme, iş takibi, CI/CD ve güvenlik taramasını tek uygulamada toplayan, bulutta ya da kendi sunucunuzda çalışan Git barındırma platformudur.
  7. 24ForkSürüm Kontrolü, s. 9Fork, başkasının deposunun bir barındırma platformundaki kişisel kopyasıdır; özgürce denemeler yapmanızı ve değişiklikleri özgün projeye geri önermenizi sağlar.
  8. 25Pull RequestSürüm Kontrolü, s. 32Pull request, bir branch'teki değişiklikleri başka bir branch'e birleştirme önerisidir; kod birleşmeden önce ekibe inceleme, tartışma ve test alanı sunar.
  9. 26Code ReviewSürüm Kontrolü, s. 4Code review, kod değişikliklerinin birleştirilmeden önce başka geliştiricilerce incelenmesidir; hataları yakalar, kaliteyi artırır, bilgi paylaşımını sağlar.
  10. 27Squash MergeSürüm Kontrolü, s. 36Squash merge, bir branch'teki tüm commit'leri hedef branch üzerinde tek bir yeni commit'te birleştirir; böylece ana geçmiş kısa ve okunması kolay kalır.

4. bölümGeri dönmek

  1. 28Git ResetSürüm Kontrolü, s. 20Git reset, mevcut branch'i daha eski bir commit'e geri taşıyan ve moduna göre staging area'yı ile dosyalarınızı da sıfırlayabilen bir Git komutudur.
  2. 29Git RevertSürüm Kontrolü, s. 21Git revert, önceki bir commit'i, tersi değişiklikleri içeren yeni bir commit oluşturarak geri alan, mevcut proje geçmişini olduğu gibi bırakan Git komutudur.
  3. 30Cherry-pickSürüm Kontrolü, s. 3Git'te cherry-pick, belirli bir commit'in değişikliklerini geldiği branch'in geri kalanını birleştirmeden, mevcut branch'inize yeni bir commit olarak kopyalar.
  4. 31Git BisectSürüm Kontrolü, s. 11Git bisect, commit geçmişinde ikili arama (binary search) yaparak hatayı getiren commit'i, yalnızca birkaç commit'i test ederek bulan Git komutudur.
  5. 32Git TagSürüm Kontrolü, s. 23Git tag, belirli bir commit'i gösteren adlandırılmış kalıcı bir işaretçidir; çoğunlukla deponun geçmişinde v1.0.0 gibi sürümleri işaretlemek için kullanılır.
  6. 33Semantic VersioningSürüm Kontrolü, s. 35Semantic versioning, her bölümün bir sürümün uyumluluğu bozduğunu, özellik eklediğini ya da hata düzelttiğini belirttiği MAJOR.MINOR.PATCH şemasıdır.
  7. 34Git HooksSürüm Kontrolü, s. 16Git hook'ları, commit ya da push öncesi gibi anlarda Git'in otomatik çalıştırdığı; kodu denetleyen, kural uygulayan ve işleri otomatikleştiren betiklerdir.

5. bölümEkip çalışma biçimleri

  1. 35Trunk-Based DevelopmentSürüm Kontrolü, s. 39Trunk-based development, geliştiricilerin küçük değişiklikleri en az günde bir kez ortak ana branch'e birleştirip onu hep yayımlanabilir tuttuğu stratejidir.
  2. 36GitflowSürüm Kontrolü, s. 24Gitflow, planlı sürümleri yönetmek için uzun ömürlü main ve develop branch'lerini feature, release ve hotfix branch'leriyle kullanan bir Git branch modelidir.
  3. 37HotfixSürüm Kontrolü, s. 28Hotfix, çökme ya da güvenlik açığı gibi production'daki ciddi bir sorun için hızla ve olağan sürüm takviminin dışında yayımlanan acil bir düzeltmedir.
  4. 38MonorepoSürüm Kontrolü, s. 31Monorepo, uygulamalar, servisler ve paylaşılan kütüphaneler gibi birçok projenin kodunu birlikte yönetilen tek bir sürüm kontrol deposunda tutma yaklaşımıdır.
  5. 39Conventional CommitsSürüm Kontrolü, s. 6Conventional Commits, feat: add search gibi yapılandırılmış commit mesajları için bir şartnamedir; araçlar değişiklik günlüğü üretip sürümü otomatik seçer.

Yol boyunca karşılaştırın

Bu yol haritasında kolayca karıştırılan çiftler, yan yana.

Daha fazla

Ayarlar