roadmap.az

Menyu

HTML & CSSDərs 13 / 16

Git ilə komanda işi

Müstəqil dəyişiklik xətti

Branch eyni repozitoriyada dəyişiklik xəttinə verilən addır. Yeni funksiyanı ayrıca branch-də hazırlamaq əsas işlək versiyanı sabit saxlamağa kömək edir. Branch tam qovluq surəti deyil, commit-ə hərəkət edən istinaddır.

git switch -c feature/profile
# Faylı redaktə edib saxla.
git add index.html
git commit -m "Profil bölməsini əlavə et"
git switch main
git merge feature/profile
Nümunə

Konflikti oxumaq

İki branch eyni hissəni fərqli dəyişdikdə Git yekun nəticəni seçə bilməyə bilər. Faylda aşağıdakı markerlər görünür:

<<<<<<< HEAD
<h1>Mənim səhifəm</h1>
=======
<h1>Ayselin portfoliosu</h1>
>>>>>>> feature/profile
Nümunə

Düzgün yekun mətni seç, lazım olan dəyişiklikləri birləşdir və bütün markerləri sil. Sonra faylı yoxlayıb git add və git commit et. git status qalan konflikti göstərir. Birləşməni təxirə salmaq lazımdırsa uyğun vəziyyətdə git merge --abort istifadə oluna bilər. Komanda işində başqasının dəyişikliklərini oxumadan üstündən yazma; merge-dən sonra tətbiqi yoxla.

Əlavə qeydlər və mənbələr

Yeni işi ayrıca branch-də hazırla, dəyişiklikləri müqayisə et və əsas branch-ə birləşdir. İki branch eyni sətri fərqli dəyişdikdə konfliktin səbəbini oxuyub yekun məzmunu seç.

Niyə vacibdir?

Versiya nəzarəti əvvəlki işlək vəziyyətə qayıtmağı və başqaları ilə əməkdaşlığı asanlaşdırır.

Əvvəlki biliklər

Bu mövzuda

  • Branch yaratmaq və dəyişmək
  • Merge və dəyişikliklərin birləşdirilməsi
  • Konfliktin tapılması və həlli

Mövzuya baxış

Mənbələr

Məşqin idarəetməsi
Addım 1 / 2

Konflikti həll et

İki branch eyni başlığı dəyişib. Yekun məzmunu seçib birləşməni tamamla.

Prosesi son vəziyyətə çatdır.

  1. İki branch
  2. Konflikt
  3. Mətn seçildi
  4. Birləşdirildi
İki branch

Hər iki dəyişiklik eyni sətirdədir.

main: Mənim səhifəm
feature: Ayselin portfoliosu

Bu məşq prosesi modelləşdirir.

Özün sına

İki lokal branch-də eyni başlığı dəyiş. Merge konfliktini həll et, markerlərin qalmadığını yoxla və birləşməni commit et.

Nəticəni necə yoxlayım?

İki branch arasındakı konflikti həll edir, yekun faylda marker qalmadığını yoxlayıb merge commit yaradırsan.

Gözlənilən nəticə

  • Konflikt həllindən sonra faylda <<<<<<<, ======= və >>>>>>> markerləri yoxdur.
  • Son başlıq Onlayn kitab mağazasıdır; git status təmiz iş qovluğu göstərir.
Nümunə həllə bax

Əvvəl özün sına, sonra müqayisə et. Bu, mümkün həllərdən biridir.

Konflikti təkrar yaratmaq üçün hər iki budaq eyni faylın eyni sətrini dəyişir. Son mətn hər iki dəyişiklik nəzərə alınaraq seçilir.

terminal.sh

git switch -c basliq-a
printf '<h1>Kitab mağazası</h1>
' > basliq.html
git add basliq.html
git commit -m "Mağaza başlığını yaz"
git switch main
git switch -c basliq-b
printf '<h1>Onlayn kitablar</h1>
' > basliq.html
git add basliq.html
git commit -m "Onlayn başlığını yaz"
git merge basliq-a
# Git eyni faylda konflikti bildirir. Aşağıdakı son mətni saxla.
printf '<h1>Onlayn kitab mağazası</h1>
' > basliq.html
git add basliq.html
git commit -m "Başlıq konfliktini birləşdir"
git status
git log --oneline --graph --all

Praktikanı bitirdin?Özün qiymətləndirirsən. İrəliləyiş bu brauzerdə saxlanılır.