Sobes.tech
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:

  1. Git müvəqqəti olaraq hazırkı şaxənizdə main-dən sonra yaranmış commitləri saxlayır.
  2. Hazırkı şaxəniz main şaxəsinin vəziyyətinə sıfırlanır.
  3. 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 featuregit rebase main sonrası:

A -- B -- C (main)
           \
            D' -- E' (feature)

Burada D'E' yeni valideyn göstəricisinə malik DE 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ı: rebase commit ID-lərini dəyişir. Bu, artıq yayımlanmış və digər inkişaf etdiricilərin işlədiyi şaxdə rebase etmə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.