Junior
Əsas şaxəyə rebase etmək nə deməkdir?
sobes.tech Süni İntellekt
AI-dan cavab
Cari git rebase main hazırkı şaxdan icra etmək, şaxınızın istinad nöqtəsini main-in son commitinə köçürmək deməkdir.
Bu aşağıdakı şəkildə baş verir:
- Git müvəqqəti olaraq hazırkı şaxənizdə
main-dən sonra yaranmış commitləri saxlayır. - Hazırkı şaxəniz
mainşaxəsinin vəziyyətinə sıfırlanır. - Saxlanmış commitlər
main-in son commitinin üzərinə ardıcıllıqla tətbiq olunur.
merge ilə əsas fərqlər:
| Xüsusiyyət | Rebase |
Merge |
|---|---|---|
| Tarixçə | Xətti, birləşmə commitləri olmadan | Xətti olmayan, birləşmə commitləri ilə |
| Tarixçənin təmizliyi | Daha təmiz, anlamaq asan | Anlamaqda çətinlik yarada bilər |
| Nizolar | Hər commit üçün ayrıca həll olunur | Bütün dəyişikliklər üçün bir dəfə həll olunur |
| Tətbiq | Kiçik, şəxsi şaxlər üçün üstünlük | İctimai şaxlərin inteqrasiyası üçün üstünlük |
Nümunə:
Əsas tarixçə:
A -- B -- C (main)
\
D -- E (feature)
git checkout feature və git rebase main sonrası:
A -- B -- C (main)
\
D' -- E' (feature)
Burada D' və E' yeni valideyn göstəricisinə malik D və E commitləridir.
Mümkün problemlər:
- Nizolar: Hər commit tətbiq edilərkən baş verə bilər.
- Tarixçənin yenidən yazılması:
rebasecommit ID-lərini dəyişir. Bu, artıq yayımlanmış və digər inkişaf etdiricilərin işlədiyi şaxdərebaseetmək təhlükəlidir. Bu halda, zəruri olduqda, zorla push (git push --force) etmək lazım ola bilər və bu ehtiyatla edilməlidir.