Git, kodlarını etkin bir şekilde yönetmek isteyen her geliştirici için vazgeçilmez bir araç. Önceki makalelerde Git’in ne olduğunu ve nasıl kurulacağını ele almıştık. Bu makalede, her yeni başlayanın bilmesi gereken temel Git komutlarını ele alacağız. Bu makalenin sonunda, Git kullanarak hazırlama alanına dosya ekleyebilecek, depoda değişiklik yapabilecek, Git loglarını görüntüleyebilecek ve değişiklikleri geri alabileceksiniz.
Hazırlama alanına dosya ekleme
Kodunuzda değişiklik yaptığınızda Git bu değişiklikleri otomatik olarak takip etmez. Bunun yerine, Git’e hangi değişiklikleri bir sonraki işleminize dahil etmek istediğinizi söylemeniz gerekir. Bunu yapmak için de dosyaları hazırlama alanına eklemenizi ister. Hazırlama alanı, değişikliklerinizi depoya işlemeden önce hazırlamanın bir yoludur.
Hazırlama alanına dosya eklemek için git add
komutunu kullanabilirsiniz. Örneğin, kodunuzda yaptığınız tüm değişiklikleri eklemek istiyorsanız, aşağıdaki komutu kullanabilirsiniz:
git add .
En sondaki .
geçerli dizindeki tüm değişiklikleri hazırlama alanına eklemek istediğinizi belirtir. Hazırlama alanına yalnızca belirli dosyaları eklemek istiyorsanız, .
işaretini eklemek istediğiniz dosyanın adıyla değiştirebilirsiniz.
git add dosya.txt
Depodaki değişikliklerin işlenmesi
Değişikliklerinizi hazırlama alanına ekledikten sonra, bunları depoya işlemeye hazırsınız demektir. Git’te değişiklikleri işlemek, belirli bir zamanda kodunuzun anlık görüntüsünü almak gibidir. Değişiklikleri işlediğinizde, kodunuzun daha sonra başvurabileceğiniz yeni bir sürümünü oluşturursunuz.
Değişiklikleri depoya işlemek için git commit
komutunu kullanabilirsiniz. Değişiklikleri işlediğinizde, her zaman hangi değişiklikleri yaptığınızı açıklayan açık ve öz bir commit mesajı yazmalısınız. Örneğin:
git commit -m "Giriş sayfasına yeni özellik eklendi"
-m
bayrağı, komutla birlikte satır içi bir commit mesajı eklemenizi sağlar. Her zaman işlemde hangi değişiklikleri yaptığınızı açıklayan anlamlı bir işlem mesajı yazmalısınız.
Git loglarını görüntüleme (commit geçmişi)
Git logları, kodunuzun commit geçmişini görüntülemenin bir yoludur. Git logları, depoda yapılan tüm commit’leri, commit mesajları ve commit’i yapan yazarla birlikte gösterir.
Git loglarını görüntülemek için git log
komutunu kullanabilirsiniz. Bu size en son yapılan işlemden başlayarak depoda yapılan tüm işlemlerin bir listesini gösterecektir.
git log
Eğer commit geçmişinin daha yoğun bir görünümünü görmek istiyorsanız --oneline
bayrağını kullanabilirsiniz.
git log --oneline
Git kullanarak değişiklikleri geri alma
Bazen kodunuzda bir hata yapabilir ve değişikliklerinizi geri almak isteyebilirsiniz. Git, ne yapmak istediğinize bağlı olarak değişiklikleri geri almak için çeşitli yollar sunar.
Değişiklikleri geri almanın bir yolu git reset
komutunu kullanmaktır. Bu komut, bir commit’i geri almanıza ve değişiklikleri commit geçmişinden kaldırmanıza olanak tanır. Örneğin:
git reset HEAD~1
Bu komut son commit’i geri alır ve commit geçmişinden kaldırır. İşlemde yapılan değişiklikler hala kodunuzda olacaktır, ancak bunlar işlem geçmişinin bir parçası olmayacaktır.
Değişiklikleri geri almanın bir başka yolu da git revert
komutunu kullanmaktır. Bu komut, bir commit’i geri almanıza ve önceki commit’teki değişiklikleri geri alan yeni bir commit oluşturmanıza olanak tanır. Örneğin:
git revert HEAD
Bu komut, önceki commit’teki değişiklikleri geri alan yeni bir commit oluşturacaktır. Değişiklikler hala kodunuzda olacaktır, ancak yeni commit’te tersine çevrilecektir.
Ayrıca git checkout
komutunu kullanarak tek tek dosyalarda yapılan değişiklikleri geri alabilirsiniz. Bu komut, belirli bir dosyada yaptığınız değişiklikleri atmanıza ve son işlenen sürüme geri döndürmenize olanak tanır.
git checkout dosya.txt
Bu komut dosya.txt üzerinde yapılan tüm değişiklikleri silecek ve son işlenen sürüme geri döndürecektir.
Ek komutlar
Artık Git komutlarının temellerini biliyoruz. Her ne kadar sonraki komutlar daha detaylı bir makalenin konusu olsa da, temel git komutlarından bahsederken bu komutlara değinmemek olmaz.
Dallanma ve Birleştirme
Dallanma, kodunuzun ana sürümünü etkilemeden üzerinde çalışabileceğiniz ayrı bir sürümünü oluşturmanın bir yoludur. Bu, ana sürümün kararlılığını etkilemeden yeni özellikleri denemenize veya kodunuzda değişiklikler yapmanıza olanak tanır.
Yeni bir dal oluşturmak için “git branch” komutunu kullanabilirsiniz.
git branch yeni_ozellik
Bu işlem yeni_ozellik
adında yeni bir dal oluşturacaktır. git checkout
komutunu kullanarak yeni dala geçiş yapabilirsiniz.
git checkout yeni_ozellik
Yeni dalda değişiklikler yaptıktan sonra, git merge
komutunu kullanarak kodunuzun ana sürümüyle birleştirebilirsiniz.
git merge yeni_ozellik
Bu, yeni_ozellik
dalında yapılan değişiklikleri kodunuzun ana sürümüyle birleştirecektir.
Uzak Depolar
Uzak depolar kodunuzu bir sunucuda saklamanıza ve diğer geliştiricilerle işbirliği yapmanıza olanak tanır. Yerel deponuzdaki değişiklikleri uzak bir depoya gönderebilir ve değişiklikleri uzak depodan yerel deponuza çekebilirsiniz.
Değişiklikleri uzaktaki bir depoya göndermek için git push
komutunu kullanabilirsiniz.
git push origin main
Bu komut, yerel deponuzdaki değişiklikleri origin
adlı uzak deponun ana dalına aktaracaktır.
Uzaktaki bir depodan değişiklikleri çekmek için git pull
komutunu kullanabilirsiniz.
git pull origin main
Bu komut, origin adlı uzak deponun ana dalındaki değişiklikleri yerel deponuza çekecektir. (Git bir de fetch komutuna sahiptir: pull ve fetch farkı)
Sonuç
Bu makalede, her yeni başlayanın bilmesi gereken temel Git komutlarını ele aldık. Hazırlama alanına dosya ekleme, depoda değişiklik yapma, Git loglarını görüntüleme ve Git kullanarak değişiklikleri geri alma konularını ele aldık. Ayrıca dallanma ve birleştirme ve uzak depolar gibi ek konulara da değindik.