Historien om git

Historien om git

December 22, 2022 Uncategorized 0

git er et af de værktøjer, der er så nemme at bruge, at du ofte ikke opdager en masse nuance til det. Du afvikler kloning af et depot fra internettet, så godt det handler om det. Hvis du foretager ændringer, kan du måske spore dem såvel som om du virkelig er høflig, kan du producere en pull-anmodning om at give tilbage til projektet. Men der er meget mere, du kan gøre. For eksempel forstod du, at GIT kan spore samarbejdsdokumenter? Eller administrer dine opstartsdata på tværs af flere Linux-bokse?

Git tilhører en husstand af software applikationsprodukter, der gør revision (eller version) kontrol. Konceptet er, at du kan etablere softwareprogram (for eksempel) samt holde styr på hver revision. Great Systems har bestemmelser for at gøre det muligt for flere personer at arbejde på et job på én gang. Der er ligeledes normalt en metode til at opdele et job i forskellige dele. For eksempel kan du opdele for at etablere en version af produktet til et andet marked eller at prøve en eksperimentel funktion uden at bryde den typiske udvikling. I nogle tilfælde vil du i sidste ende bringe det opdelt tilbage i den primære linje.

Selvom jeg i den næste rate, vil jeg give dig nogle mærkelige udnytter til git, du kan opdage nyttige, denne udgivelse er hovedsagelig historien om, hvordan git kom til at være. Open Source Advancement forstås for flamme krige såvel som der er mindst et par i denne fortælling. såvel som i ægte hacker mode, bestemmer historiens helt, at han ikke kan lide de værktøjer, han bruger så … Nå, hvad ville du gøre?

Krig af versionskontrollerne

Historisk har en stor softwareapplikation, der gjorde denne funktion, en central-server tankegang. Det vil sige, at koden boede på netværket et eller andet sted. Når du ønskede at arbejde på en data, ville du inspicere det. Dette fungerede kun, hvis ingen andre havde det inspiceret. Selvfølgelig, hvis du lykkedes, kan ingen andre inspicere dine data op, indtil du sætter dem tilbage. Hvis du var væk fra netværket, så godt som du ønskede at arbejde på noget, så godt dårligt.

Imidlertid slapper flere af moderne værktøjer et par af disse begrænsninger. Ideelt set kan et værktøj give dig en regional kopi af et job, samt straks holde andre kopier opdateret, når du frigiver ændringer. Denne metode var der ingen central kopi til at tabe, du kan arbejde overalt, så godt som du ikke behøvede at koordinere arbejdet med forskellige ting med andre holdkammerater.

Lukket værktøj

Et ekstremt stort distribueret team etablerer Linux-kernen. I slutningen af ​​1998 havde holdet en hård tid med revisionsstyring. En kerneludvikler, [Larry McVoy], havde en virksomhed, der skabte en skalerbar distribueret version Administrer produkt kaldet Bitkeeper. Selv om det var et industriprodukt, var der en naboskabstilladelse, der gjorde det muligt for dig at udnytte det så længe du ikke fungerede på et stridende værktøj, mens du brugte produktet såvel som i et år derefter. Den begrænsning, der anvendes til både industrielle såvel som open source konkurrence. Selvom produktet holdes de fleste data på din maskine, var der en serverkomponent, så virksomheden kunne faktisk spore din brug af produktet.

I 2002 omfavnede Linux Kernel-holdet Bitkeeper. [Linux Torvalds] var blandt de nye systemers fortalere. Men andre designere (og interesserede fejringer som [Richard Stallman] var bekymrede for at udnytte et proprietært værktøj til at etablere open source. Bitmover – virksomheden bag bitkeeper – tilføjede nogle gateways for at sikre, at designere, der ønskede at udnytte et andet system, kunne til nogle grad.

For det meste, ting, der stilles ned med kun lejlighedsvis flamme, skirmishes udbrud lige her såvel som der. Det er frem til 2005, når [McVoy’s] virksomhed afslørede, at det ville afbryde den gratis version af Bitkeeper. Uanset årsagen var på grund af en person, der etablerede en klient, der tilføjede funktioner fra den industrielle version til den frie.

Nye værktøjer

Som følge heraf spømmes to jobs så meget som en erstatning. Mercurial var en såvel som git, selvfølgelig var den anden. [McVoy] kontaktede en industriel klient, der krævede, at deres arbejdstager [Bryan O’Sullivan] stopper med at bidrage til Mercurial, som han gjorde. Selvfølgelig kom både Mercurial såvel som GIT til at fruitioner, med git ender med at være ikke kun kernelholdets version, der styrer systemet, men systemet for en stor del af andre mennesker også.

Fødsel af git

[Linus] kiggede efter et mere off-hylde system. Ingen på det tidspunkt havde forestillingen eller de funktioner, der passer til kerneludviklingsholdet. Han designede GIT til hastighed, enkelhed, såvel som at forhindre at gøre de samme ting, som CVS (et revileret Version Manage-program) gjorde.

Indledende fremskridt er angivet til at have taget et par dage. since the version 1.0 release in late 2005, the software application has spawned more than one major website as well as has ended up being the system of option for many developers, both open source, as well as commercial.

Repo Man

The flow chart shows the tricK af præcis, hvordan GIT håndterer gode tilbud på udvikleren på én gang: Repositories eller Repos. Hver designer har en samlet kopi af hele jobbet (det regionale depot). Faktisk, hvis du ikke er ligeglad med at dele, kræver du ikke engang et fjernbehold. Din personlige repo er lige så meget et fuldt udstyret git-job som andres, selv den fjerntliggende en, som sandsynligvis er på GitHub eller en yderligere netværksserver. Du foretager dine ændringer i arbejdskatalet, scener, hvad du er “færdig” med (for nu), samt dedikere det til din repo. Når det er tid, skubber du dine modifikationer så meget som fjernbetjeningen såvel som den bliver slået sammen med andres ændringer.

Interessant nok arbejder GIT ikke kun på tekstdata (jeg vil vise dig mere om det i den næste rate). Det virker dog fineste på tekstdata, da det er klogt nok til at lægge mærke til ændringer i data, der ikke overlapper såvel som fusionere dem automatisk. Så hvis jeg reparerer en fejl, herunder A til sløjfe i nogle kode, såvel som du ændrer nogle fejlmeddelelser, vil GIT gerne have det hele, når vores kode fusionerer.

Det virker selvfølgelig ikke altid. Det fører til konflikter, som du skal manuelt løse. Men medmindre du har to personer, der berører de præcise nøjagtige samme dele af koden, gør GIT normalt en god opgave at løse forskellen. Selvfølgelig får binære data generelt ikke den luksus. Du kan ikke præcist differe et ikon for at se, at en person person trak en overskæg på det såvel som en mere person vendte baggrunden grøn. Men teknisk, hvis du måske regner med algoritmen, kan du tilføje det til git.

Denouement.

Hvis du vil øge din forståelse af git ud over bare at lave en klon, kan du gøre værre end at bruge 15 minutter på denne vejledning. Hvis du allerede forstår det grundlæggende, kan du opdage nogle nye ting i en mere avanceret vejledning eller inspicere videoen af ​​en snak [Linus], der leveres på git et stykke tid tilbage.

I 2016 afslørede Bitholeeper, at de ville flytte til Apache-tilladelsen, som selvfølgelig er åben kilde. Type ironisk, er det ikke?

Fotokreditter:

Tux soldat, af [Sharkey], CC by-SA 3.0

[Linus Torvalds] fra Linux Magazine, CC by-SA 3.0

FlowChart by [lbhtw], cc by-sa 3.0

Leave a Reply

Your email address will not be published. Required fields are marked *