git etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
git etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Şubat 2024 Pazar

Git Dersi Notlarım

Git Commits

Bir git deposundaki bir commit, dizininizdeki tüm (izlenen) dosyaların anlık görüntüsünü kaydeder. Dev bir kopyala ve yapıştır gibi, ama daha da iyisi!

Git, commitleri mümkün olduğunca hafif tutmak ister, bu nedenle her commit yaptığınızda tüm dizini körü körüne kopyalamaz. (Mümkün olduğunda) bir commit'i deponun bir sürümünden diğerine bir dizi değişiklik veya bir "delta" olarak sıkıştırabilir.

Git ayrıca hangi taahhütlerin ne zaman yapıldığına dair bir geçmiş tutar. Bu nedenle çoğu commit'in üzerinde ata commit'ler bulunur - bunu görselleştirmemizde oklarla gösteriyoruz. Geçmişi korumak, proje üzerinde çalışan herkes için harikadır!

Kabul edilmesi gereken çok şey var, ancak şimdilik commit'leri projenin anlık görüntüleri olarak düşünebilirsiniz. Taahhütler çok hafiftir ve aralarında geçiş yapmak çok hızlıdır!

 

Git Dalları

Git'teki dallar da inanılmaz derecede hafiftir. Bunlar sadece belirli bir işlemin işaretçileridir - daha fazlası değil. Bu yüzden birçok Git meraklısı şu mantrayı söyler:

erken dallan ve sık sık dallan

Çok sayıda dal oluşturmanın depolama / bellek ek yükü olmadığından, işinizi mantıksal olarak bölmek, büyük ve güçlü dallara sahip olmaktan daha kolaydır.

Dalları ve commitleri karıştırmaya başladığımızda, bu iki özelliğin nasıl birleştiğini göreceğiz. Şimdilik, bir dalın esasen "Bu commit'in ve tüm üst commit'lerin çalışmalarını dahil etmek istiyorum" dediğini unutmayın. 

Branches and Merging

Harika! Artık nasıl commit ve branch yapacağımızı biliyoruz. Şimdi iki farklı daldaki çalışmaları bir araya getirmenin bir yolunu öğrenmemiz gerekiyor. Bu bize dallanma, yeni bir özellik geliştirme ve daha sonra bunu tekrar birleştirme imkanı verecektir.

Çalışmaları birleştirmek için inceleyeceğimiz ilk yöntem git merge'dir. Git'te birleştirme, iki benzersiz ebeveyne sahip özel bir commit oluşturur. İki ebeveyne sahip bir commit aslında "Şuradaki ebeveynden ve şuradaki ebeveynden gelen tüm çalışmaları ve tüm ebeveynlerinin setini dahil etmek istiyorum" anlamına gelir.

Görsellerle daha kolay, bir sonraki görünümde kontrol edelim. 

To complete this level, do the following steps:

  • Make a new branch called bugFix
  • Checkout the bugFix branch with git checkout bugFix
  • Commit once
  • Go back to main with git checkout
  • Commit another time
  • Merge the branch bugFix into main with git merge

Remember, you can always re-display this dialog with "objective"!

 

 

Git Rebase

Dallar arasında iş birleştirmenin ikinci yolu yeniden yerleştirmedir. Rebasing esasen bir dizi commit'i alır, onları "kopyalar" ve başka bir yere yerleştirir.

Bu kulağa kafa karıştırıcı gelse de, yeniden yerleştirmenin avantajı, güzel bir doğrusal taahhüt dizisi oluşturmak için kullanılabilmesidir. Deponun commit günlüğü / geçmişi, yalnızca yeniden yerleştirmeye izin verilirse çok daha temiz olacaktır.

 
 

git branch -f main HEAD~3