Git
Kısaca
Git, 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.
Git nedir?
Git, projenin dosyalarının anlık görüntülerini (commit) kaydederek projenin eksiksiz bir geçmişini tutar. İstediğiniz an neyin, kim tarafından ve neden değiştirildiğini görebilir, bir şey bozulursa önceki bir sürüme dönebilirsiniz. Git'i 2005'te Linus Torvalds, Linux çekirdeğinin geliştirilmesini yönetmek için oluşturdu; bugün dünyada en yaygın kullanılan sürüm kontrol sistemidir.
Git dağıtıktır; yani her geliştiricinin kendi bilgisayarında, tüm geçmişiyle birlikte deponun eksiksiz bir kopyası bulunur. Commit oluşturma, geçmişi görüntüleme ve branch açma gibi işlerin çoğu yerelde yapılır ve internet olmadan da çalışır. Geliştiriciler değişikliklerini, çoğunlukla GitHub, GitLab veya Bitbucket gibi bir platformda barındırılan uzak bir depoya push ederek ve oradan pull ederek paylaşır.
Git için sık kullanılan bir benzetme, video oyunlarındaki kayıt sistemidir. Her commit yeniden yükleyebileceğiniz bir kayıt noktasıdır; branch'ler ise ana ilerlemenizi kaybetmeden riskli bir yolu denemenizi sağlar. Tipik iş akışı şöyledir: dosyaları düzenlersiniz, saklamak istediğiniz değişiklikleri git add ile hazırlar (stage eder), ardından git commit ile bir commit olarak kaydedersiniz.
Git sıklıkla GitHub ile karıştırılır. Git, bilgisayarınızda çalışan sürüm kontrol aracının kendisidir; GitHub ise Git depolarını barındıran ve pull request ile issue takibi gibi iş birliği özellikleri ekleyen çevrimiçi bir hizmettir.
Bir bakışta
Önemli noktalar
- Git dağıtık bir sürüm kontrol sistemidir: her klon, tüm geçmişi içerir.
- Değişiklikler, geri yüklenebilir anlık görüntüler olan commit'ler olarak kaydedilir.
- Branch'ler özellikleri ayrı bir hatta geliştirmenizi ve sonra birleştirmenizi sağlar.
- Git bir araçtır; GitHub, GitLab ve Bitbucket ise Git depolarını barındıran hizmetlerdir.
Örnek
# Start tracking a project
git init
# Stage changes and save a snapshot
git add .
git commit -m "Add homepage layout"
# Connect to a remote repository and upload your work
git remote add origin https://github.com/example/my-project.git
git push -u origin main
# See the project history
git log --onelineSık sorulan sorular
Git ile GitHub arasındaki fark nedir?
Git, değişiklikleri bilgisayarınızda izleyen sürüm kontrol yazılımıdır. GitHub ise Git depolarını çevrimiçi barındıran ve pull request, kod incelemesi ve issue gibi iş birliği özellikleri sunan bir web sitesi ve hizmettir.
Git deposu (repository) nedir?
Depo ya da kısaca repo, Git tarafından izlenen; tüm dosyalarını ve commit'lerden oluşan eksiksiz geçmişini içeren bir proje klasörüdür. Git bu geçmişi projenin içindeki gizli bir .git dizininde saklar.
Git ücretsiz mi?
Evet. Git, GNU Genel Kamu Lisansı'nın 2. sürümüyle yayımlanan ücretsiz ve açık kaynaklı bir yazılımdır; Windows, macOS ve Linux üzerinde çalışır.
Sık karşılaştırılanlar
İlgili sayfalar
- CommitSü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.
- BranchSü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.
- MergeSü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.
- Pull 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.
- RebaseSü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.
- CI/CDDevOps ve Bulut, s. 9CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.
- GitHubSü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.
- Sü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.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin