Git
Chapters ▾ 2nd Edition

3.3 Git’də Branch - Branch İdarəedilməsi

Branch İdarəedilməsi

İndi bəzi branch-ları yaratdınız, birləşdirdiniz və sildiniz. Hər zaman branch-lardan istifadə etməyə başladığınız zaman yararlanacağınız bəzi branch idarəetmə vasitələrinə baxaq.

git branch əmri branch-ları yaratmaq və silməkdən daha çox şey edir. Heç bir argument olmadan işləsəniz, cari branch-larınızın sadə bir siyahısını alırsınız:

$ git branch
  iss53
* master
  testing

master branch-nı əvvəlcədən təyin edən * simvoluna diqqət yetirin: bu, hazırda yoxladığınız branch-ı göstərir (yəni,HEAD-ın göstərdiyi branch-ı). Bu o deməkdir ki, bu anda commit etsəniz, master branch yeni işinizlə irəliləyəcəkdir. Hər bir branch-dakı son commit-i görmək üçün git branch -v işlədə bilərsiniz:

$ git branch -v
  iss53   93b412c Fix javascript issue
* master  7a98805 Merge branch 'iss53'
  testing 782fd34 Add scott to the author list in the readme

Faydalı --merged--no-merged seçimlər bu siyahını mövcud olduğunuz branch-ı filtrləyə bilər. Hansı branch-ların artıq olduğunuz branch-a birləşdirildiyini görmək üçün git branch --merged işlədə bilərsiniz:

$ git branch --merged
  iss53
* master

Daha əvvəl iss53-də birləşdiyiniz üçün siyahınızda görürsünüz. Bu siyahıdakı branch-ları önlərində "*" olmadan, ümumiyyətlə, git branch -d ilə silmək yaxşıdır; onsuz da işlərini başqa bir branch-a birləşdirmisiniz, buna görə heç nə itirməyəcəksiniz.

Hələ birləşdirmədiyiniz işlək olan bütün branch-ları görmək üçün git branch --no-merged işləyə bilərsiniz:

$ git branch --no-merged
  testing

Bu, digər branch-nızı göstərir. Çünki hələ birləşdirilməmiş bir iş var, onu git branch -d ilə silmək istədikdə uğursuz olacaq:

$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

Həqiqətən branch-ı silmək və bu işi itirmək istəyirsinizsə, faydalı mesajda göstərildiyi kimi onu -D ilə məcbur edə bilərsiniz.

Tip

Yuxarıda təsvir edilən --merged--no-merged variantları, bir arqument olaraq bir commit və ya branch adı verilmirsə, müvafiq olaraq sizin cari branch-ınıza birləşdirildiyini və ya birləşdirilmədiyini göstərir.

Həmişə olduğu kimi bu branch-ı əvvəlcədən yoxlamadan başqa bir branch-a münasibətdə birləşmə vəziyyəti haqqında soruşmaq üçün əlavə bir arqument təqdim edə bilərsiniz. master branch-a birləşməyən nədir?

$ git checkout testing
$ git branch --no-merged master
  topicA
  featureB