Repozitoriya (ing. Repository) — proqram təminatının mənbə kodunu, sənədlərini, resurslarını və tarixçəsini saxlamaq üçün istifadə olunan bir yerdir.Repo (qısa adı ilə) həm komanda şəklində işləmək üçün kodu ortaq saxlama məkanı kimi, həm də kodun müxtəlif versiyalarını izləmək üçün istifadə olunur. Kod repo-ları (məsələn, GitHub, GitLab, Bitbucket və s.) proqram inkişafı prosesində çox vacib bir rola malikdir.
Əsas xüsusiyyətləri
- Versiya nəzarəti (ing. Version Control)
- Repo-larda proqram təminatının müxtəlif versiyalarını izləmək mümkündür. Bu, hər bir dəyişikliyin kim tərəfindən və nə vaxt edildiyini bilmək üçün vacibdir.
- Kodun əvvəlki versiyalarına qayıtmaq, dəyişiklikləri müqayisə etmək və tarixçəyə baxmaq imkanı verir.
- Şaxələndirmə (ing. Branching)
- Birlikdə İşləmə (ing. Collaboration)
- Repozitoriyalar komanda ilə işləmək üçün ideal məkan yaradır. İnkişafçılar dəyişiklikləri push və pull edərək eyni layihə üzərində işləyə bilirlər.
- Kodu nəzərdən keçirmək, şərhlər əlavə etmək və dəyişikliklər etmək üçün müxtəlif icazələr və alətlər mövcuddur.
- İcazə nəzarəti (ing. Access Control)
- Repozitoriyalarda istifadəçilərin müxtəlif səviyyələrdə icazələri olur. Bu, kodun təhlükəsizliyini və yalnız lazım olan şəxslərin müəyyən dəyişiklikləri etməsini təmin edir.
- İşlərin nəzərdən keçirilməsi (ing. Code Review)
- Komanda üzvləri bir-birlərinin kodunu nəzərdən keçirə bilər, təkliflər verə və düzəlişlər edə bilərlər.
- Kod nəzərdən keçirmə alətləri (ing. Pull Request və ya Merge Request) bu prosesin bir hissəsidir.
- Açar sözlər və şərhlər
- Repozitoriyalarda kod haqqında məlumatlar, qeydlər, sənədlər və şərhlər saxlana bilər. Bu, gələcəkdə layihəni anlamaq və ya dəyişiklikləri asanlıqla izləmək üçün faydalıdır.
Növləri
- Yerli repozitoriya (ing. Local Repository)
- Proqram təminatı faylları lokal kompüterdə saxlanılır.
- İstifadəçilər
Git
kimi versiya nəzarət alətlərindən istifadə edərək dəyişiklikləri lokal olaraq izləyə bilərlər.
- Uzaq repozitoriya (ing. Remote Repository)
- Proqram təminatının kodu internet üzərində serverdə saxlanılır və müxtəlif inkişafçılar uzaqdan bu repo ilə işləyə bilirlər.
- Məsələn, GitHub, GitLab və Bitbucket kimi platformalar uzaq repo xidmətləri təklif edir.
- Mərkəzləşdirilmiş və paylanmış repozitoriyalar
- Mərkəzləşdirilmiş repo — kod yalnız bir mərkəzi serverdə saxlanılır (məsələn, SVN).
- Paylanmış repo — hər bir istifadəçinin lokal kompüterində tam repo nüsxəsi olur və hər kəs öz dəyişikliklərini müstəqil şəkildə edə bilir (məsələn, Git).
Repozitoriya ilə iş prosesi
- Fork və ya Klonlama — uzaq repo-nu lokal kompüterə gətirmək üçün "clone" əmri ilə repo-nun nüsxəsini çıxarmaq.
- Şaxələndirmə (ing. Branching) — yeni xüsusiyyət əlavə etmək və ya problemləri həll etmək üçün yeni bir branch yaratmaq.
- Dəyişiklik etmək və qeyd etmək (ing. Commit) — kodu yeniləyərək dəyişiklikləri "commit" ilə repo-ya əlavə etmək.
- Dəyişiklikləri
push
etmək — lokal repo-dakı dəyişiklikləri uzaq repo-ya yükləmək. Pull Request
və yaMerge Request
göndərmək — layihənin əsas koduna dəyişikliklərin birləşdirilməsi üçün kod nəzərdən keçirmə təklifi göndərmək.- Birləşdirmək (ing. Merging) — dəyişikliklərin əsas
branch
-ə birləşdirilməsi.
Məşhur repozitoriya platformaları
- GitHub — ən populyar kod hostinq platformalarından biridir və geniş bir açıq mənbə icması ilə dəstəklənir.
- GitLab — layihə idarəetmə və CI/CD xüsusiyyətləri ilə təmin edilmiş güclü bir kod hostinq platformasıdır.
- Bitbucket — xüsusilə kiçik bizneslər və komandalar üçün kod hostinqi və layihə idarəetmə xüsusiyyətləri təklif edir.
Repozitoriyalar proqram təminatının hazırlanması və idarə edilməsində çox vacib bir vasitədir. Komanda şəklində məhsuldar işləmək, kodu izləmək və dəyişikliklərin tarixçəsini saxlamaq üçün mütləq istifadə olunmalıdır.
Metadata
Metadata ikili artefaktı təsvir edir, artefaktın özündən ayrıca saxlanılır və istinad edilir və bir neçə əlavə istifadəyə malik ola bilər. Aşağıdakı cədvəl bəzi ümumi metadata növlərini və onların istifadəsini göstərir:
Metadata növü | İstifadə olunma səbəbi |
---|---|
Mövcud versiyalar | Avtomatik təkmilləşdirmə və endirmə |
Asılılıqlar | Cari artefaktın asılı olduğu digər artefaktları göstərin |
Aşağı axın asılılıqları | Cari artefaktdan asılı olan digər artefaktları göstərin |
Lisenziya | Hüquqi Uyğunluq |
Quraşdırma tarixi və vaxtı | İzləmə qabiliyyəti |
Sənədləşdirmə | IDE-də kontekst sənədləri üçün oflayn əlçatanlığın təmin edilməsi |
Təsdiq Məlumatı | İzləmə qabiliyyəti |
Metriklər | Kodun əhatə dairəsi, qaydalara uyğunluq, test nəticələri |
İstifadəçi tərəfindən yaradılan metadata | Fərdi hesabatlar və proseslər |
İstinadlar
- itmWEB: Coping with Computer Viruses Arxivləşdirilib oktyabr 14, 2007, at the Wayback Machine
- "The Haskell Cabal | Overview". www.haskell.org. 2019-04-10 tarixində arxivləşdirilib. İstifadə tarixi: 2019-03-25.
- "Maven – Welcome to Apache Maven". maven.apache.org. 2011-07-24 tarixində arxivləşdirilib. İstifadə tarixi: 2019-03-25.
- "Julia Package Listing". pkg.julialang.org. 2019-01-20 tarixində arxivləşdirilib. İstifadə tarixi: 2019-03-25.
- "Quicklisp beta". www.quicklisp.org. 2019-03-23 tarixində arxivləşdirilib. İstifadə tarixi: 2019-03-25.
- karann-msft. "NuGet Package Manager UI Reference". docs.microsoft.com (ingilis). 2019-03-25 tarixində arxivləşdirilib. İstifadə tarixi: 2019-03-25.
- "npm". www.npmjs.com. 2018-04-13 tarixində arxivləşdirilib. İstifadə tarixi: 2019-03-25.
- "Cloudsmith artifact repository". 2023-07-16 tarixində arxivləşdirilib. İstifadə tarixi: 2023-09-11.
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Repozitoriya ing Repository proqram teminatinin menbe kodunu senedlerini resurslarini ve tarixcesini saxlamaq ucun istifade olunan bir yerdir Repo qisa adi ile hem komanda seklinde islemek ucun kodu ortaq saxlama mekani kimi hem de kodun muxtelif versiyalarini izlemek ucun istifade olunur Kod repo lari meselen GitHub GitLab Bitbucket ve s proqram inkisafi prosesinde cox vacib bir rola malikdir Esas xususiyyetleriVersiya nezareti ing Version Control Repo larda proqram teminatinin muxtelif versiyalarini izlemek mumkundur Bu her bir deyisikliyin kim terefinden ve ne vaxt edildiyini bilmek ucun vacibdir Kodun evvelki versiyalarina qayitmaq deyisiklikleri muqayise etmek ve tarixceye baxmaq imkani verir Saxelendirme ing Branching Repozitoriyada saxelendirme ing branching xususiyyeti ile layihenin muxtelif xususiyyetleri ve ya yenilemeleri uzerinde paralel islemek mumkundur Saxeler ing branches layihenin ferqli versiyalaridir ve esas ing main master saxeye birlesdirile biler Birlikde Isleme ing Collaboration Repozitoriyalar komanda ile islemek ucun ideal mekan yaradir Inkisafcilar deyisiklikleri push ve pull ederek eyni layihe uzerinde isleye bilirler Kodu nezerden kecirmek serhler elave etmek ve deyisiklikler etmek ucun muxtelif icazeler ve aletler movcuddur Icaze nezareti ing Access Control Repozitoriyalarda istifadecilerin muxtelif seviyyelerde icazeleri olur Bu kodun tehlukesizliyini ve yalniz lazim olan sexslerin mueyyen deyisiklikleri etmesini temin edir Islerin nezerden kecirilmesi ing Code Review Komanda uzvleri bir birlerinin kodunu nezerden kecire biler teklifler vere ve duzelisler ede bilerler Kod nezerden kecirme aletleri ing Pull Request ve ya Merge Request bu prosesin bir hissesidir Acar sozler ve serhler Repozitoriyalarda kod haqqinda melumatlar qeydler senedler ve serhler saxlana biler Bu gelecekde layiheni anlamaq ve ya deyisiklikleri asanliqla izlemek ucun faydalidir NovleriYerli repozitoriya ing Local Repository Proqram teminati fayllari lokal komputerde saxlanilir Istifadeciler Git kimi versiya nezaret aletlerinden istifade ederek deyisiklikleri lokal olaraq izleye bilerler Uzaq repozitoriya ing Remote Repository Proqram teminatinin kodu internet uzerinde serverde saxlanilir ve muxtelif inkisafcilar uzaqdan bu repo ile isleye bilirler Meselen GitHub GitLab ve Bitbucket kimi platformalar uzaq repo xidmetleri teklif edir Merkezlesdirilmis ve paylanmis repozitoriyalar Merkezlesdirilmis repo kod yalniz bir merkezi serverde saxlanilir meselen SVN Paylanmis repo her bir istifadecinin lokal komputerinde tam repo nusxesi olur ve her kes oz deyisikliklerini musteqil sekilde ede bilir meselen Git Repozitoriya ile is prosesiFork ve ya Klonlama uzaq repo nu lokal komputere getirmek ucun clone emri ile repo nun nusxesini cixarmaq Saxelendirme ing Branching yeni xususiyyet elave etmek ve ya problemleri hell etmek ucun yeni bir branch yaratmaq Deyisiklik etmek ve qeyd etmek ing Commit kodu yenileyerek deyisiklikleri commit ile repo ya elave etmek Deyisiklikleri push etmek lokal repo daki deyisiklikleri uzaq repo ya yuklemek Pull Request ve ya Merge Request gondermek layihenin esas koduna deyisikliklerin birlesdirilmesi ucun kod nezerden kecirme teklifi gondermek Birlesdirmek ing Merging deyisikliklerin esas branch e birlesdirilmesi Meshur repozitoriya platformalariGitHub en populyar kod hostinq platformalarindan biridir ve genis bir aciq menbe icmasi ile desteklenir GitLab layihe idareetme ve CI CD xususiyyetleri ile temin edilmis guclu bir kod hostinq platformasidir Bitbucket xususile kicik biznesler ve komandalar ucun kod hostinqi ve layihe idareetme xususiyyetleri teklif edir Repozitoriyalar proqram teminatinin hazirlanmasi ve idare edilmesinde cox vacib bir vasitedir Komanda seklinde mehsuldar islemek kodu izlemek ve deyisikliklerin tarixcesini saxlamaq ucun mutleq istifade olunmalidir MetadataMetadata ikili artefakti tesvir edir artefaktin ozunden ayrica saxlanilir ve istinad edilir ve bir nece elave istifadeye malik ola biler Asagidaki cedvel bezi umumi metadata novlerini ve onlarin istifadesini gosterir Metadata novu Istifade olunma sebebiMovcud versiyalar Avtomatik tekmillesdirme ve endirmeAsililiqlar Cari artefaktin asili oldugu diger artefaktlari gosterinAsagi axin asililiqlari Cari artefaktdan asili olan diger artefaktlari gosterinLisenziya Huquqi UygunluqQurasdirma tarixi ve vaxti Izleme qabiliyyetiSenedlesdirme IDE de kontekst senedleri ucun oflayn elcatanligin temin edilmesiTesdiq Melumati Izleme qabiliyyetiMetrikler Kodun ehate dairesi qaydalara uygunluq test neticeleriIstifadeci terefinden yaradilan metadata Ferdi hesabatlar ve proseslerIstinadlaritmWEB Coping with Computer Viruses Arxivlesdirilib oktyabr 14 2007 at the Wayback Machine The Haskell Cabal Overview www haskell org 2019 04 10 tarixinde arxivlesdirilib Istifade tarixi 2019 03 25 Maven Welcome to Apache Maven maven apache org 2011 07 24 tarixinde arxivlesdirilib Istifade tarixi 2019 03 25 Julia Package Listing pkg julialang org 2019 01 20 tarixinde arxivlesdirilib Istifade tarixi 2019 03 25 Quicklisp beta www quicklisp org 2019 03 23 tarixinde arxivlesdirilib Istifade tarixi 2019 03 25 karann msft NuGet Package Manager UI Reference docs microsoft com ingilis 2019 03 25 tarixinde arxivlesdirilib Istifade tarixi 2019 03 25 npm www npmjs com 2018 04 13 tarixinde arxivlesdirilib Istifade tarixi 2019 03 25 Chris Tucker Optimal Package Install Uninstall Manager PDF UC San Diego 2007 03 15 1 2011 06 14 tarixinde arxivlesdirilib PDF Istifade tarixi 2011 09 14 Cloudsmith artifact repository 2023 07 16 tarixinde arxivlesdirilib Istifade tarixi 2023 09 11