29/11/2021

Git -2

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

Leave a Reply