Sobes.tech
Junior

Git istifadə edərək bir neçə commit-i necə birləşdirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Git istifadə edərək bir neçə commit-i birləşdirmək üçün git rebase -i <commit-ish> əmri istifadə olunur.

  1. Birləşdirmək istədiyiniz commit-ə qədər olan commit-i müəyyən edin. Bu, commit hash-i, branch və ya tag ola bilər.
  2. git rebase -i <commit-ish> əmri icra edin. Məsələn, son 3 commit-i birləşdirmək üçün:
    git rebase -i HEAD~3
    
  3. Commit-lərin siyahısı ilə mətn redaktoru açılacaq. Siyahının ilk commit-i (yuxarıda) pick sözünə sahib olmalıdır. Birleştirmək istədiyiniz digər commit-lər pick yerinə squash və ya s kimi dəyişdirilməlidir.
    pick abcd123 Əsas commit
    squash efgh456 A funksiyasının 1-ci hissəsi
    squash ijkl789 A funksiyasının 2-ci hissəsi
    ...
    
  4. Redaktoru yadda saxlayın və bağlayın.
  5. Yeni commit üçün mesaj yaratmaq üçün başqa bir redaktor açılacaq. Mesajları birləşdirin və ya redaktə edin ki, yeni birləşdirilmiş commit üçün məntiqli mesaj əldə edəsiniz.
    // Yeni birləşdirilmiş commit üçün mesaj
    
    // Bu, 3 commit-in birləşməsidir.
    
    // Əsas commit
    // A funksiyasının 1-ci hissəsi
    // A funksiyasının 2-ci hissəsi
    
  6. Redaktoru yadda saxlayın və bağlayın. Git commit-ləri birləşdirəcək.

Əgər işlədiyiniz branch artıq uzaq depoya göndərilibsə, -f və ya --force-with-lease bayrağı ilə zorla push etmək lazımdır.

git push origin <sizin_branch> -f

Bu, commit tarixçəsinin dəyişdirildiyi üçün vacibdir. Zorla push etmək təhlükəli ola bilər, əgər digər inkişafçılar artıq bu branch üzərində işləyirlərsə. Həmişə bu branch üçün zorla push etmək mümkün olub-olmadığını yoxlayın.

Alternativ olaraq, --fixup--autosquash bayraqlarını istifadə edə bilərsiniz və sonra git rebase -i --autosquash <commit-ish> əmri ilə avtomatik birləşdirmə edə bilərsiniz.