Enkelt sagt är GitHub ett "nav" där folk kan samarbeta på en mängd olika dokument. Även om GitHub arbetar med allt från Word-dokument till Excel-kalkylblad, används det mest populärt av utvecklare som vill samarbeta på kod. GitHub låter utvecklare komma åt Git, ett versionskontrollsystem (VCS) som är skräddarsydd för programmeringsprojekt. Vi har tagit lite tid att förklara Git och hur GitHub har revolutionerat samarbetsprogrammering.
Vad är Git?
Kom ihåg att du samarbetar om gymnasierapporter i dagarna före Google Dokument? Du skulle maila rapporten om och se till att alla fick sitt bidrag. Ibland kan du redigera ditt bidrag och maila om en uppdaterad kopia. Förrän var det omkring tre till fem kopior som flyter runt, var och en innehåller några men inte alla slutändringar. Slutligen skulle en av er grotta och ta den hejka uppgiften att reducera alla versioner till ett enda aktuellt dokument.
Så småningom skulle Google Docs göra samarbeten på dokument om tusen gånger lättare, så att alla kan arbeta inom ett enda system i samma dokument och spårningsuppdateringar. Googledocs, som Git, är ett versionsstyrningssystem. Det är utformat för att spåra och sammanfoga uppdateringar, vilket gör det enklare att arbeta gemensamt på ett enda projekt.
Git är en VCS skapad av Linus Trovalds, skaparen av Linux, så du vet redan att det kommer att vara utvecklingsvänligt. Det är faktiskt utvecklarvänligt på bekostnad av andra filtyper. I stället för att tillåta uppdateringar i realtid, som Googledocs eller GitHubs föregångare i programindustrin, kräver det att människor hämtar en fullständig version av projektet och redigerar det lokalt. De lägger sedan upp sin uppdatering. Som ett resultat finns det många "uppdaterade" dokument som spåras i systemet.
Det här låter skrämmande om du vill samarbeta på PowerPoint eller Word. Men det är perfekt för programmerare. När alltför många kockar redigerar kod i samma dokument kan det väsentligt skada integriteten i koden. Dessutom kan ändringar på ett ställe påverka hur en annan del är kodad. Om enskilda utvecklare inte är medvetna om vad deras kollegor gör kan detta stava förvirring och potentiell katastrof för koden.
I stället får varje utvecklare att arbeta med en "blank canvas" av den befintliga huvudversionen av projektet. De laddar upp ändrade versioner till "staging environment". Därifrån kan ändringar vara "engagerade" för slutprodukten. När ändringar har gjorts är de en del av huvudkoden som kommer att laddas ner för framtida ändringar. På så sätt gör Git det lättare att visa, acceptera, avvisa och återställa ändringar, skydda känslig kod från katastrof.
GitHub Funktioner
GitHub är ett "nav" för att arbeta med Git VCS-format. Det kommer med en mängd olika funktioner för att göra utvecklarens liv enklare.
- Repository - Vanligtvis kallad "repo", här är alla uppdaterade versioner (och den primära versionen) av ett projekt lagrade. Det här är din scenplats för projektet. Varje repo har en unik URL för enkel åtkomst.
- Forking - Om inte utvecklare betalar för ett privat repository kan deras projekt ses av alla andra medlemmar i GitHubs community. Om dessa medlemmar känner att de kan göra ett värdigt bidrag, kan de skapa ett nytt projekt (förråd) från din. Detta kallas "forking a repo."
- Pull Request - Efter att ha förkortat en repo och gjort nya ändringar av befintlig kod kan GitHub-användare bjuda in utvecklarna av originalförvaret för att se ändringarna.
- Sammanslagning - Om du gillar de förändringar som någon gjort efter förverkande av ditt förråd, kan du välja att acceptera ändringarna och slå samman dem med ditt befintliga förråd.
- Changelogs - Det gör det möjligt för utvecklare att arbeta på ett enda projekt, se alla förändringar, vilka gjorde dem och när.
- Nätverk - GitHub gör det enklare för spirande utvecklare att ses. Varje användare som en profil som visar projekt som de har arbetat med och vilken forking de har gjort. När du skickar in en begäran om utdrag kan utvecklarna du skickade till din profil se. Detta berättar lite om din expertis och kan informera om de sammanfogar ändringarna eller ej.
Framtiden för programmering
Forking anses allmänt som GitHubs flaggskeppsfunktion. Genom att göra det enklare för programmerare att bli märkt utjämnar de spelplanen. Dessutom gör plattformens sociala och samarbetsmässiga karaktär det enklare för mindre projekt att få märkt och bli gjort.