Geri alma
loglara baktığımızda her commitin unique IDsi olduğunu görürüz ve bunlar ile eski versiyonlara dönmek mümkün olmaktadır.
PS C:\Users\can\git\first_repo> git log
commit 00028c5d64059245b4c1495755be2c1912718e10 (HEAD -> master)
Author: can <canbuyukburc@hotmail.com>
Date: Mon Nov 29 15:30:43 2021 +0100
ucuncu commit
commit b2b71254800b01606c2857263fba45312b525e7b
Author: can <canbuyukburc@hotmail.com>
Date: Mon Nov 29 15:25:50 2021 +0100
commit 2
commit e5c0fdc810edd8d628f79946bd9ed8625401cd47
Author: can <canbuyukburc@hotmail.com>
Date: Mon Nov 29 15:03:30 2021 +0100
ilk commit
ancak logları kısaltmakta mümkündür.
PS C:\Users\can\git\first_repo> git log --oneline
00028c5 (HEAD -> master) ucuncu commit
b2b7125 commit 2
e5c0fdc ilk commit
ve herhangi bir versiyona geri dönmek istersek iki yol ile dönerebiliriz.
Hard reset
Kesin geri dönüş için kullanılır.
PS C:\Users\can\git\first_repo> git reset b2b7125 --hard
HEAD is now at b2b7125 commit 2
Soft Reset
şimdi bir dosyayı değiştirip yeniden commit yaptım ve durum aşağuda ki gibi
PS C:\Users\can\git\first_repo> git commit -a -m "resetten sonra yeni commit 4"
[master f4b67bf] resetten sonra yeni commit 4
1 file changed, 3 insertions(+), 1 deletion(-)
PS C:\Users\can\git\first_repo> git log --oneline
f4b67bf (HEAD -> master) resetten sonra yeni commit 4
b2b7125 commit 2
e5c0fdc ilk commit
Ah bi yerde hata yapmışım geri 2 ye döneceğim ama soft olarak
PS C:\Users\can\git\first_repo> git reset b2b7125 --soft
PS C:\Users\can\git\first_repo>
şimdi tam commit etmeden önceki ana geri dönmüş olduk. Yani değiştridiğimiz dosya staging area da değişiklikleri yapılmış bekliyor ama commit edilmemiş durumda.
PS C:\Users\can\git\first_repo> git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: test.txt
gerekli değişikliği tekrar yapıp commit edebiliriz
Revert
Yine bir dosyada birşeyler değiştiriyoruz ve commit ediyoruz.
PS C:\Users\can\git\first_repo> git log --oneline
be10291 (HEAD -> master) commit 5
71e0210 ater soft reset
b2b7125 commit 2
e5c0fdc ilk commit
şimdi bu değişiklikten öncesine gitmek istiyoruz.
git revert be10291
geri gidilecek Commit in IDs
Commit mesajı değiştirme
eğer commit ederken yazdığımız mesaj hatalı ise
PS C:\Users\can\git\first_repo> git commit -a -m "noooooo"
[master 440577e] noooooo
1 file changed, 1 insertion(+)
PS C:\Users\can\git\first_repo> git log --oneline
440577e (HEAD -> master) noooooo
748564a Revert "commit 5"
6f22157 Revert "commit 6"
b90c20f commit 6
9178e52 Revert "commit 2"
be10291 commit 5
71e0210 ater soft reset
b2b7125 commit 2
e5c0fdc ilk commit
şimdi bu “noooo” yu düzeltelim.
PS C:\Users\can\git\first_repo> git commit --amend -m "yessss"
[master 2cc0f8b] yessss
Date: Mon Nov 29 21:57:44 2021 +0100
1 file changed, 1 insertion(+)
PS C:\Users\can\git\first_repo> git log --oneline
2cc0f8b (HEAD -> master) yessss
748564a Revert "commit 5"
6f22157 Revert "commit 6"
b90c20f commit 6
9178e52 Revert "commit 2"
be10291 commit 5
71e0210 ater soft reset
b2b7125 commit 2
e5c0fdc ilk commit
ama commit nosuda değişiyor.
eğer bir dosyayı commit etmeyi unutmuşsak ve onuda son commite eklemek istiyorsak önce dosyanın staging area da olduğundan emin olup ardından
git commit –amend