mirror of https://github.com/CrimsonTome/tldr.git
38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
|
# git rebase
|
|||
|
|
|||
|
> Bir daldan başka bir dalın üstüne commit'leri tekrar temeller.
|
|||
|
> Sıklıkla bir dalı commit'leriyle beraber başka bir tabana "taşımak" için kullanılır.
|
|||
|
> Daha fazla bilgi için: <https://git-scm.com/docs/git-rebase>.
|
|||
|
|
|||
|
- Mevcut dalı belirtilen öbür dal üzerine temelle:
|
|||
|
|
|||
|
`git rebase {{yeni_taban_dal}}`
|
|||
|
|
|||
|
- Commit'lerin sıralanması, çıkartılması, birleştirilmesi veya modifiye edilmesine izin vermek için tekrar temellemeyi etkileşimli olacak şekilde başlat:
|
|||
|
|
|||
|
`git rebase -i {{hedef_taban_dalı_veya_commit_değeri}}`
|
|||
|
|
|||
|
- Bir birleştirme hatası tarafından durdurulan tekrar temelleme işlemini çekişen dosyaları düzenledikten sonra devam ettir:
|
|||
|
|
|||
|
`git rebase --continue`
|
|||
|
|
|||
|
- Birleştirme çatışmasından ötürü durdurulan tekrar temelleme işlemini çekişen commit'leri atlayarak devam ettir:
|
|||
|
|
|||
|
`git rebase --skip`
|
|||
|
|
|||
|
- Devam eden tekrar temelleme işlemini iptal et (örneğin birleştirmede çatışma yaşandığında):
|
|||
|
|
|||
|
`git rebase --abort`
|
|||
|
|
|||
|
- Mevcut dalın bir parçasını belirtilen eski tabandan yeni tabana taşı:
|
|||
|
|
|||
|
`git rebase --onto {{yeni_taban}} {{eski_taban}}`
|
|||
|
|
|||
|
- Son 3 commit'i etkileşimli olmayacak şekilde yeniden uygula:
|
|||
|
|
|||
|
`git rebase -i {{HEAD~5}}`
|
|||
|
|
|||
|
- Herhangi bir çatışmayı çalışan dal sürümünü kurtarmak üzere otomatik olarak çöz (`theirs` argümanı burada ters anlama sahip):
|
|||
|
|
|||
|
`git rebase -X theirs {{dal_ismi}}`
|