Enkelt sagt, GitHub er et "hub" der folk kan samarbeide på en rekke dokumenter. Selv om GitHub jobber med alt fra Word-dokumenter til Excel-regneark, brukes det mest populært av utviklere som ønsker å samarbeide på kode. GitHub gir utviklere tilgang til Git, et versjonskontrollsystem (VCS) som er spesielt skreddersydd for programmeringsprosjekter. Vi har tatt litt tid til å forklare Git og hvordan GitHub har revolusjonert samarbeidsprogrammering.
Hva er Git?
Husk å samarbeide om videregående skole grupperapporter i dagene før Google Dokumenter? Du sender e-post til rapporten og sørger for at alle har fått sitt bidrag gjort. Noen ganger vil du gjøre endringer i ditt bidrag og e-post rundt en oppdatert kopi. Før lenge var det omtrent tre til fem eksemplarer som svømte rundt, hver inneholder noen, men ikke alle de endelige endringene. Endelig vil en av dere hule og ta på seg den raske oppgaven med å redusere alle versjoner til et enkelt oppdatert dokument.
Til slutt vil Google Dokumenter gjøre samarbeid på dokumenter om tusen ganger lettere, slik at alle kan jobbe i et enkelt system i samme dokument og spore oppdateringer. Googledocs, som Git, er et versjonskontrollsystem. Den er laget for å spore og fusjonere oppdateringer, noe som gjør det lettere å jobbe sammen på et enkelt prosjekt.
Git er en VCS opprettet av Linus Trovalds, skaperen av Linux, slik at du allerede vet at det skal være utviklervennlig. Faktisk er det utvikler vennlig på bekostning av andre filtyper. I stedet for å tillate sanntidsoppdateringer, som Googledocs eller GitHubs forgjengere i programmeringsindustrien, krever det folk å laste ned en fullversjon av prosjektet og redigere det lokalt. De laster deretter opp sin oppdatering. Som et resultat er det mange "oppdaterte" dokumenter sporet i systemet.
Dette burde høres skremmende hvis du ønsker å samarbeide på PowerPoint eller Word. Men det er ideelt for programmerere. Når alt kommer til alt, kan for mange kokker redigeringskode i samme dokument skade signifikant skade på kodenes integritet. Dessuten kan endringer på ett sted påvirke hvordan en annen del er kodet. Hvis individuelle utviklere ikke er klar over hva deres kolleger gjør, kan dette stave forvirring og potensiell katastrofe for koden.
I stedet får hver utvikler å arbeide med et "blått lerret" av den eksisterende hovedversjonen av prosjektet. De laster opp endrede versjoner til "lagringsmiljøet." Derfra kan endringer bli "forpliktet" til sluttproduktet. Etter at endringer har blitt begått, er de en del av hovedkoden som vil bli lastet ned for fremtidige endringer. På denne måten gjør Git det enklere å vise, akseptere, avvise og tilbakestille endringer, beskytte delikat kode fra katastrofe.
GitHub Funksjoner
GitHub er et "hub" for å jobbe med Git VCS-formatet. Den kommer med en rekke funksjoner for å gjøre utviklernes liv lettere.
- Repository - Vanligvis kalt "repo", her er alle de oppdaterte versjonene (og den primære versjonen) av et prosjekt lagret. Dette er din staging grunnlag for prosjektet. Hver repo har en unik nettadresse for enkel tilgang.
- Forking - Med mindre utviklere betaler for et privat depot, kan prosjektet sees av alle andre medlemmer av GitHub-fellesskapet. Hvis disse medlemmene føler at de kan gi et verdifullt bidrag, kan de skape et nytt prosjekt (repository) fra ditt. Dette kalles "forking a repo."
- Trekkforespørsel - Etter å ha forkjørt en repo og gjøre nye endringer i eksisterende kode, kan GitHub-brukere invitere utviklerne av det opprinnelige arkivet for å se endringene.
- Sammenslåing - Hvis du liker endringene som noen gjorde etter å ha forkullet ditt depot, kan du velge å godta disse endringene og slå sammen dem med ditt eksisterende lager.
- Changelogs - Dette lar utviklere jobbe med et enkelt prosjekt, se alle endringer, hvem som gjorde dem, og når.
- Nettverk - GitHub gjør det lettere for spirende utviklere å bli sett. Hver bruker som en profil som viser prosjekter de har jobbet med, og noen forking de har gjort. Når du sender inn en trekkforespørsel, kan utviklerne du sendte inn, se profilen din. Dette forteller dem litt om din kompetanse og kan informere om de fusjonerer endringene eller ikke.
Fremtiden for programmering
Forking er allment betraktet som GitHubs flaggskipfunksjon. Ved å gjøre det lettere for programmererne å bli lagt merke til, utjevner de spillereglene. I tillegg gjør plattformens sosiale og samarbeidsevne det lettere for mindre prosjekter å bli lagt merke til og bli gjort.