Git
Chapters ▾ 2nd Edition

A3.4 Appendix C: Git Əmrləri - Branching və Birləşmə

Branching və Birləşmə

Git-də branching və birləşmə funksiyalarının çoxunu həyata keçirən bir neçə əmr var.

git branch

git branch əmri əslində bir branch idarəetmə vasitəsidir. Sahədəki branch-ların siyahısını verə bilər, yeni bir branch yarada, branch-ları silə və branch-ların adını dəyişə bilər.

Git’də Branch-nin çox hissəsi branch əmrinə həsr olunmuşdur və bütün fəsildə istifadə olunur. Əvvəlcə onu Təzə Branch Yaratmaq-də təqdim edirik və digər xüsusiyyətlərinin əksəriyyətindən (siyahı və silmə)Branch İdarəedilməsi-də keçirik.

İzləmə Branch-ları-də tracking branch qurmaq üçün git branch -u seçimindən istifadə edirik.

Nəhayət, Git Referansları daxilində arxa planda gördüklərindən bir neçəsini keçirik.

git checkout

git checkout əmri branch-ları dəyişdirmək və məzmunu iş qovluğunuza göndərmək üçün istifadə olunur.

İlk olaraq əmrlə Switching Branches-də git branch əmri ilə qarşılaşırıq.

İzləmə Branch-ları içərisində --track flag-ı ilə branch-ları izləməyə başlamaq üçün bundan necə istifadə edəcəyimizi görürük.

Bunu Konfliktləri Yoxlamaq içindəki --conflict=diff3 ilə fayl konfliktlərini yenidən tətbiq etmək üçün istifadə edirik.

Reset Demystified içərisindəki git reset ilə əlaqəsini daha ətraflı təfərrüatlarına nəzər salırıq.

Nəhayət, HEAD-də bəzi tətbiq detallarına nəzər salırıq.

git merge

git merge vasitəsi, bir və ya daha çox branch-ı yoxladığınız branch-a birləşdirmək üçün istifadə olunur. Daha sonra mövcud branch-ı birləşmə nəticəsinə aparacaqdır.

git merge əmri ilk dəfə Sadə Branching-də tətbiq edilmişdir. Kitabın müxtəlif yerlərində istifadə olunmasına baxmayaraq, merge əmrinin çox az dəyişikliyi var - ümumiyyətlə birləşdirmək istədiyiniz tək branch-ın adı ilə git merge <branch> bəs edir.

Squashed birləşdirmənin necə ediləcəyini (Git işi birləşdirdiyi, ancaq birləşdiyiniz branch-ın tarixini qeyd etmədən yeni bir commit kimi göründüyünü) Forked Public Layihəsi sonunda necə izah etdik.

Birləşdirmə prosesi və əmri, o cümlədən -Xignore-space-change əmri və bir problem birləşməsini ləğv etmək üçün --abort flag-ı daxil olmaqla çox şeyi İnkişaf etmiş Birləşmə-də araşdırdıq.

Layihənizin Commit-ləri İmzalamaq-də GPG imzalamasından istifadə edirsə, birləşmədən əvvəl imzaların necə təsdiqlənəcəyini öyrəndik.

Nəhayət, Subtree Subtree Birləşdirməsi-də birləşməsini öyrəndik.

git mergetool

git mergetool əmri, Git-də birləşmə ilə bağlı problemləriniz olması halında xarici birləşmə köməkçisini işə salır.

Bunu Əsas Birləşmə Konfiliktləri-də tez qeyd edirik və Xaricdən Birləşdirmə və Diff Vasitələri öz xarici birləşmə alətinizi necə tətbiq edəcəyiniz barədə ətraflı məlumat veririk.

git log

git log əmri, son commit snapshot-dan bir layihənin əldə edilə bilən qeyd edilmiş tarixçəsini göstərmək üçün istifadə olunur. Varsayılan olaraq yalnız hazırda olduğunuz branch-ın tarixçəsini göstərəcək, ancaq içindən keçmək üçün fərqli və ya hətta çoxlu head-lar və ya branch-lar verilə bilər. Həm də commit səviyyəsində iki və ya daha çox branch arasındakı fərqləri göstərmək üçün tez-tez istifadə olunur.

Bu əmr kitabın təxminən hər fəslində bir layihənin tarixini göstərmək üçün istifadə olunur

Commit Tarixçəsinə Baxış bölümündə əmri təqdim edirik və bir qədər dərindən əhatə edirik. Orada hər bir öcommit-də nələrin təqdim edildiyi barədə bir fikir əldə etmək üçün -p--stat seçimlərinə və bəzi sadə tarix və müəllif filtrləmə seçimləri tarixə daha qısaca baxmaq üçün --pretty--oneline seçimlərinə baxırıq.

Təzə Branch Yaratmaq-də branch göstəricilərimizin harada yerləşdiyini asanlıqla vizuallaşdırmaq üçün onu --decorate seçimi ilə istifadə edirik və fərqli tarixlərin necə göründüyünü görmək üçün --graph seçimindən də istifadə edirik.

Private Kiçik KomandaCommit Aralıqları bölmələrində, commit-lərin başqa bir branch-a nəzərən bir branch-a unikal olduğunu görmək üçün git log əmrini istifadə etmək üçün branchA...branchB sintaksisini əhatə edirik. Commit Aralıqları-də bu vəziyyəti olduqca geniş izah edirik.

Birləşdirmə Log-uÜçqat Nöqtə-də nə olduğunu görmək üçün branchA...branchB formatı və --left-right sintaksisindən istifadə edirik ki, bu və ya digər branch-da, lakin hər ikisində deyil, nə baş verdiyini görək. Birləşdirmə Log-u bölməsində birləşdirmə commit-ində olan konfliktlərə baxmaq üçün --cc seçiminin yanında birləşdirmə konflikti debugging-nə kömək etmək üçün --merge seçimindən necə istifadə edəcəyimizə də baxırıq.

RefLog Qısa Adları bölməsində keçid yerinə bu vasitə ilə Git reflog-una baxmaq üçün -g seçimindən istifadə edirik.

Axtarış bölməsində bir funksiyanın tarixini görmək kimi kodda tarixən baş verən bir şey üçün kifayət qədər mürəkkəb axtarışlar aparmaq üçün -S-L seçimlərindən istifadə etməyə baxırıq.

Commit-ləri İmzalamaq bölməsində git log çıxışında hər bir commit-ə doğrulama sətri əlavə etmək üçün --show-signature - etibarlı bir şəkildə imzalanmış olub olmadığına əsaslanaraq necə istifadə ediləcəyini görürük.

git stash

git stash əmri branch-da bitməmiş iş görmədən iş qovluğunuzu təmizləmək üçün müvəqqəti olmayan işləri keçici olaraq saxlamaq üçün istifadə olunur.

Stashing və Təmizləmə-də bu əhatə olunub.

git tag

Kod tarixinin müəyyən bir nöqtəsinə qalıcı bir bookmark vermək üçün git tag əmri istifadə olunur. Ümumiyyətlə bu, relizlər kimi şeylər üçün istifadə olunur.

Bu əmr Etiketləmə-də ətraflı şəkildə təqdim olunur və Buraxılışlarınızı Etiketləmək tətbiq edilir.

Ayrıca, -s flag-ı ilə bir GPG imzalı etiketin yaradılmasını və İşinizin İmzalanması içərisində -v flag-ı ilə necə təsdiqlənəcəyini də əhatə edirik.