From Wikipedia, the free encyclopedia
Git Linus Torvaldsek garatutako bertsio-kontrol software bat da; hain zuzen, produktu edo konfigurazio batean egin daitezkeen aldaketak kudeatzeko programa da. Linusen helburu nagusiak mantentze-lanen fidagarritasuna eta efizientzia ziren. Git garatzerako orduan, kontuan izan zuen programa horietan egingo ziren aldaketak artxibo askokoak izango zirela.
Git | |
---|---|
Jatorria | |
Sortzailea(k) | Linus Torvalds |
Sorrera-urtea | 2005 |
Argitaratze-data | 2005 |
Azken bertsioa | 2.47.0 |
Ezaugarriak | |
Hizkuntza | ingelesa, bulgariera, katalana, frantsesa, Indonesiera, suediera, turkiera, ukrainera, Vietnamera, Txinera sinplifikatua eta Taiwanese Mandarin (en) |
Programazio-lengoaia | C, Perl, Tcl (en) , Python eta C++ |
Sistema eragilea | git packfile (en) , git packfile index, version 1 (en) eta git packfile index, version 2 (en) |
Irakur dezake | Plataforma-anitz, GNU/Linux, BSD, Mac OS, Microsoft Windows eta UNIX-moduko |
Idatz dezake | git packfile (en) , git packfile index, version 1 (en) eta git packfile index, version 2 (en) |
Egile-eskubideak | copyrightduna |
Lizentzia | GPLv2 |
Deskribapena | |
Honen eragina jaso du | CVS eta BitKeeper (en) |
Ekoizpena | |
Diseinatzailea | Linus Torvalds |
Garatzailea | Software Freedom Conservancy (en) , Linus Torvalds eta Junio C Hamano (en) |
Fikzioa | |
Erabiltzen du | Git Wire Protocol, version 1 (en) , Git Wire Protocol, version 2 (en) , Git Dumb HTTP (en) , Git Dumb HTTP over TLS (en) , Git Smart HTTP (en) , Git Smart HTTP over TLS (en) eta changeset (en) |
git-scm.com | |
Iturri-kodea | https://git.kernel.org/pub/scm/git/git.git eta git://git.kernel.org/pub/scm/git/git.git |
Hasierako ideia zen Git maila baxuko motore bat izatea, beste developer batzuek hori erabiliz aplikazio grafikoak sor zezaten, Cogito edo StGITen antzera. Hala ere, funtzionaltasunari dagokionez, erabateko sistema-kontrol bat bilakatu da. Indar handiko proiektu askotan erabiltzen da Git softwarea, Linuxen garapen nukleoan esate baterako. Gaur egungo software honen mantentze-lanak Junio Hamanoren esku daude. Horretarako, 280 programatzaileren laguntza du.
BitKeeper eta Monotonen oinarritutako diseinua dauka Gitek.
Giten diseinua Linus Torvaldsek Linux garatzean izandako esperientziaren emaitza da; kode mordoa jende askoren artean banatuta, kudeatuta eta mantenduta dago, helburua delarik sistemaren funtzionamendu azkarra.
Ezaugarri garrantzitsuenetakoen artean, honako hauek aurki ditzakegu:
Git-en garapena 2005eko apirilean hasi zen, Linux kernel-aren garatzaileek BitKeeper erabiltzeari laga ondoren. Larry McVoyk, BitKeeperreko copyrightaren jabe zenak, doako lizentzia ukatu zien, itxura denez, Andrew Tridgellek alderantzizko-ingeniaritza aplikatu baitzien BitKeeper protokoloei.
Linusek BitKeeperren antzera erabili zitekeen sistema bat nahi zuen, baina orduko software askedun sistemek ez zituzten bere beharrak betetzen, errendimenduaren atalean batez ere. Torvaldsek iturburu-kontrol sistema bat jarri zuen eredutzat, non patch bat jarriz, eta berarekin batera doan metadata guztia eguneratzen 30 segundo ematen dituen, eta nahiz eta proiektu itzela izan (Linuxeko kernela, esaterako), denbora mantentzen den. Hau betetzeko, patching lanek 3 segundo baino gutxiago iraun beharko luketela zehaztu zuen, eta hiru sententzia gehiago gehitu zituen:
Irizpide hauek orduko bertsio-kontrol sistema oro kanporatu zuen, Monotone izan ezik. Errendimendu eskaerak hori ere alde batera utzi zuen, beraz, 2.6.12-rc2 Linux kernelaren release bertsioa atera ostean, Torvaldsek bere sistema idazteari ekin zion.
2005eko apirilaren 3an hasi zen garapena. Torvaldsek apirilaren 6an iragarri zuen, eta hurrengo egunean Giten garapenaren bertsio-kontrola Git bera erabiliz egiten hasi zen. 18an lehenengo merge anitza egin zen, eta 29rako bere errendimendu beharrak betetzen zituen, segundoko 6.7 Linux kerneleko atal pathceatuz. Ekainak 16an Linux kernelaren 2.6.12 releasea Gitek kudeatu zuen.
2005eko uztailak 26an, Junio Hamanoren (proiektuko ekarle nagusitako baten) eskuetan utzi zituen mantentze lanak Torvaldsek. Bera izan zen 1.0 bertsioa argitaratzearen arduraduna urte bereko abenduaren 21ean. Gaur egun, bera da mantentze lanen arduraduna.
git fetch
Urruneko fitxategi-sisteman egindako aldaketak deskargatzen ditu.
git merge <adar_izena>
Adar batean egindako aldaketak adar lokalean aplikatzeko erabilia.
git pull
Aurreko bi komandoak bateratzen ditu, fitxategi-sistemako adar bat lokalean deskargatuz eta aldaketak aplikatuz.
git commit
Egindako aldaketak erreferentziako adarrean aplikatzen dira, pull eginda adar bera duten beste erabiltzaileek eskuratzeko.
git commit -am "<mezua>"
Commitatzean mezu bat jartzen da, eta aplikatutako aldaketak azaltzen dira.
git push origin <adar_izena>
Adar lokala urruneko zerbitzarira igotzeko balio du.
git status
Adaren egoera zein den ikusteko balio du.
git add <artxibo_izena>
Artxiboa git sistemara gehitzen da. Hurrengo commitean zerbitzarira igoko da.
git checkout -b <adar_berriaren_izena>
Adar lokaleko aldaketak dituen adar berri bat sortzen da.
git checkout -t origin/<adar_izena>
Urrunean dagoen adar baten kopia lokala sortzen da, eta horretan parte hartzen edo honen jarraipena ahalbidetzen du.
git branch
Adar lokal guztiak bistaratzen ditu.
git branch -a
Adar lokalak zein erremotoak bistaratzen ditu.
git branch -d <adar_izena>
Adar lokala ezabatzen du.
git push origin <adar_izena>
Adar baten aldaketak commitatzen ditu.
git remote prune origin
Urruneko errepositorioa eguneratzen du.
git reset --hard HEAD
Egindako aldaketak commitatu ez badira, desegin egiten ditu.
git revert <commit_kodea>
Egindako commit baten aldaketak desegiten ditu, commita egin ez balitz bezela.
Erabiltzaile bakoitzak nahi bezala erabil dezake software hau, hala ere, erabilera egokia honako hau da:
Master:
Adar nagusia da. Erabiltzailearen esku dagoen programa baten errepositorioari deritzo. Beraz, bertsio egonkor bat izan behar da.
Development:
Adar nagusitik ateratako bigarren bat da. Integrazio adar bat da, funtzionaltasun berri guztiak bertan integratuko dira.
Features:
Funtzionaltasun berri bakoitzarekiko adar espezifiko bat sortzen da. Hauek development adar batetik garatutakoak izango dira. Behin funtzionaltasuna garatuta, bestearekin integratzeko development adarrarekiko merge bat egingo da.
Hotfix:
Horfix-ak programa garatzerako orduan sortzen diren bug-ak, masterretik ateratako adarrak dira. Horiek lehenbailehen argitaratu eta ondoren konpondu behar dira sor ditzaketen arazoengatik. Behin arazoa konponduta, master adarrarekiko merge bat egin behar da. Azkenik, eguneratuta mantentzeko master adarra development adarrarekiko merge bat egin behar da.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.