1 min read

git ile zaman yolculuğu

git ile belirli bir commit numarası vererek projenin bu anına geri dönebiliyoruz.

Versiyon kontrolü kullanmanın belki de en büyük faydalarından biri, projenin yaşam döngüsü sürecinde herhangi bir t anına geri dönebilmektir. git ile tek bir komutla belirli bir commit numarası vererek projenin bu anına geri dönebiliyoruz.

Bunu bir örnekle görelim.

İlk olarak bir repoyu klonlayalım. Ardından checkout komutuyla geçmişteki bir commit numarasına, örneğin "13d3ff2" no.lu commit anına atlayalım.

git clone [repo_url] [folder_name]
cd [folder_name]
git checkout 13d3ff2

Bu noktada çalışmalarımız repodan bağımsız olacaktır. Yani proje üzerinde çalışıp commit edebiliriz. Yeniden checkout ettiğimizde bu commitler silinecektir. checkout yaptığınızda bunu hatırlatan bir uyarı görürsünüz.

Note: checking out '13d3ff2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 13d3ff2 Minor fixes.

Eğer bu commit üzerinden çalışarak yaptığımız yeni commit'lerin repo'da tutulmasını istersek, yeni bir branch açıp buradan ilerlemek daha doğru olur.

git checkout -b [branch_name]

Bu noktadan sonra zamanda geri dönerek seçtiğimiz commit üzerinden çalışmaya devam edebiliriz. Bütün bu gelişmeler yeni branch üzerinden repoda kayıt altında tutulacaktır.