İlkinur Kərəmli

profile-pic
Git

Yeni Başlayanlar üçün Git.

19 noyabr 2019

Git program yazma zamanında, istifadə edilən fayllarda, edilən dəyişiklikləri zamana bağlı olaraq saxlayan bir versiyon idarə sistemidir (Version Control System).

Bu texnolojinin ortaya çıxışına qısaca nəzər edəcək olursaq:

Əvvəllər bir poyekti tək başına hazırladıqda , onu müəyyən aralıqlarla bir kopyası alınıb arxiv olaraq saxlanılırdı. Ancaq birdən çox programçının çalıştığı proyektlərin idarə olunması çətinləşməyə başladı. Bu problemi həll etmək üçün birçox fikir ortaya çıxdı, ancaq Git hal hazırda istifadə olunan ən effektlisi və məşhurudur.

Git, həmçinin  dağınıq (distributed) bir versiyon idarə sistemidir. Bu o demək olur ki; mərkəzi bir server yox, bunun yerinə birdən çox Git deposu var. Ancaq yenə də Git depolarından birini mərkəzi bir yermiş kimi istifadə edə bilərsiz. Bu sayədə proyektin uzaq serverdəki kopyasını komputerinizə kopyalaya bilirsiz. Git, bir programçının yazacağı proyektlərdə istifadə oluna biləcəyi kimi birdən çox programçının idarə edecəyi proyektlərdə də istifadə oluna bilir. Sürüm kontrol programları birdən çox programçının işlədiyi zamanlarda  eyni proyekt üzərində çalışma imkanı yaradır. Bu olquyu bu şəkil də görsəlləşdirə bilərik:

Git texnolojisinde branch məntiqi vardır. Branch fərqli dəyişikliklərin fərqli qurulma səviyyələrindəki qollara deyilir. Yuxarıdakı şəkildə görülən X ve Y iki ayrı branchdır.

Git’in Çalışma Məntiqi

Git, dört qatmandan əmələ gəlib:

  • Birincisi, çalışmaqta olduğunuz yer: working
  • İkinci qatman staging səviyyəsi: Proyektizdə bəzi dəyişikliklər etdiniz ancaq bu dəyişiklikləri hələ yadda saxlamadığınız yerdir.
  • Üçüncüsü, dəyişikliklərinizi yaddaşda saxladığınız yerdir commit əməliyyatı: Bu qatman dəyişikliklərinizin local repository içinə yazıldığı qatmandır.
  • Son səviyyə isə dəyişikliklərin uc nöqtəyə göndərildiyi yerdir.

Git Əmrləri

Git ilə həyatımıza girəcək ilkin bəzi əmrlər və nə işə yaradıqlarına bir nəzər salaq:

  • git init

Bu əmr, olduğumuz qovluqda .git adında bir qovluq yaradır ve bir Git repository’si vəziyyətinə gətirir. Daha sonra bu repository’i uzaqdakı bir serverə göndərə bilərsiniz.

  • git config

İsitifadəçi adı, mail vb. düzənləmə ayarlarının edildiyi əmrdir.

  • git status

Edilən dəğişiklikləri; yəni əlavə edilən, silinən faylların hansı branch’da olduğunu göstərir.

  • git add 

Proyektə əlavə etmək istədiyiniz faylları add əmri ilə Git içinə əlavə edər və git status ilə təkrar baxa bilərik.

  • git reset 

Fayllarda etdiyimiz dəyişiklikləri geri almaq istədiyimizdə bu əmri istifadə edirik.

  • git commit

Bu əmr yoluyla proyektdəki dəyişikləri local repository’ə yazırıq.

  • git log

Proyektdə hansı commit’lərin edildiyini göstərmək üçün istifadə olunur.

  • git branch

Proyekt içərisində olan brach’ların yaranışını görmək istədiyimizdə bu əmri istifadə edirik. Bizə Local repository’də olan bütün branch’ların məlumatını verir.

  • git branch 

Proyekt içində yeni brach yaratmaq istədiyimizdə istifadə edirik.

  • git branch –d 

Yeni branch yaradıldı, dəyişikliklər qurtardı, ana branch ilə birləştirildi; bunların ardından yaradılan branch’ı silmək istərsək bu əmri istifadə edirik.

  • git checkout 

Branch’lar arası geçiş etmək istediyimizdə istifadə edirik. Yeni bir branch yaradıldığında doğrudan o branch’da işləməyə başlayanmırıq; öncəliklə o branch’a keçməmiz lazımdır.

  • git checkout -b 

Bu əmrdə isə iki iş eyni anda edilir: Yəni branch yaradılır və yaradılan branch’a keçilir.

  • git pull

Proyekt içərisində master branch’dan proyektin ən güncəl vəziyyətini almaq üçün istifadə olunur.

  • git push

Proyekti qurma mərhələsində commitlənmiş dəyişikliklərin uzaqdakı serverə göndərilməsini edən əmrdir.

  • git merge 

Yeni branch yaradılıb üzərində işlədikən sonra proyektin bütünlüyünü etmək üçün branch’larımızı birləştirməliyik. Merge əmri bu işi hıyata keçirmək üçün istifadə olunur.

$ git checkout dev
$ git merge serap

Bu əmr  ilə serap adlı branch’ı dev branch’ı ilə birləştirdik.

  • git clone 

Uzaq serverdəki bir proyek üzərində qurma etmək istərsək, o proyektikomputerimizə kopyalayıb ardından qurmağa davam etməliyik. Bu əmrlə də komputerimizə kopyalama mərhələsini həyata keçiririk.

$ git clone https://github.com/Serappaltun/HRSpringBootApp
  • git fetch

Uzaq serverdə olan branch’ların məlumatını lokalımıza yükləyir.


Git əmrlərinin hər an əlinizin altında olmasını vəya ağlınızda qalmasını istəsəz fərqli Git cheat sheet çıxtıları alıb gözünüzə çox dəyən yerlərə asa bilərsiz.

Mesaj qoy