Team samarbete med GitHub

GitHub har blivit hörnstenen för alla saker med öppen källkod. Utvecklare älskar det, samarbetar med det och bygger ständigt fantastiska projekt genom det. Förutom värd för vår kod använder GitHubs huvudattraktion det som ett samarbetsverktyg. I den här handledningen kan vi utforska några av de mest användbara GitHub-funktionerna, speciellt för att arbeta i team, vilket gör det mer effektivt, produktivt och viktigast av allt kul!


Github och Software Collaboration

En sak som jag tycker är väldigt användbar är att integrera Github Wiki i huvudkodsprojektet.

Denna handledning förutsätter att du redan är bekant med Git, styrsystemet för öppen källkod distribuerad version, skapad av Linus Torvalds 2005. Om du behöver en revision eller en titt på Git, besök vår tidigare screencast-kurs eller till och med några inlägg. Du borde redan ha ett Github-konto och gjorde några grundläggande funktioner som att skapa ett förråd och skicka ändringar till Github. Om inte, gå vidare till mer tidigare handledning på det.

I mjukvaruprojektens värld är det oundvikligt att vi kommer att hitta oss i ett team för att leverera ett projekt. För denna handledning om Github och team samarbete, kommer vi att utforska några av de vanligaste verktygen som vi generellt behöver när vi arbetar med mjukvaruutlag. De verktyg som diskuteras är:

  1. Lägga till lagmedlemmar - Organisation & Samarbetare
  2. Pull-förfrågningar - Skickar och sammanfogar
  3. Felspårning - Githubproblem
  4. Analytics - Grafer och nätverk
  5. Projektledning - Trello & Pivotal Tracker
  6. Kontinuerlig integration - Travis CI
  7. Kodgranskning - Linjebeskrivning och URL-frågor
  8. dokumentera - Wiki & Hubot

Föredrar en skärmdump?

Om du föredrar en skärmdump för en visuell genomgång, hoppa precis nedanför för att se den och hänvisa till den här handledningen som sidotyper:


Ladda ner video

Verktyg 1: Lägga till lagmedlemmar

Det finns generellt två sätt att skapa Github för teamsamarbete:

  1. organisationer - Organisationsägare kan skapa många lag med olika tillståndsnivåer för olika repositorier
  2. medarbetare - Förvaringsinnehavaren kan lägga till samarbetare med Read + Skriv åtkomst för ett enda arkiv

organisationer

Om du övervakar flera lag och vill sätta olika behörighetsnivåer för varje lag med olika medlemmar och lägga till varje medlem i olika repositories, skulle Organization vara det bästa alternativet. Alla Github användarkonton kan redan skapa gratis organisationer för öppna källkodsförråd. För att skapa en organisation, bläddra helt enkelt till din organisations inställningssida:

För att komma åt lagsidan för din organisation kan du helt enkelt gå till http://github.com/organizations/[organization-name]/teams att se dem eller ens besöka https://github.com/organizations/[organization-name]/teams/new att skapa nya lag med medlemmar av 3 olika tillståndsnivåer som:

  1. Dra bara: Hämta och slå samman med ett annat förråd eller en lokal kopia. Läs endast åtkomst.
  2. Knuffa och dra: (1) tillsammans med uppdatering av fjärrrepo. Läs + Skrivåtkomst.
  3. Tryck, dra och administrativ: (1), (2) tillsammans med rätten till faktureringsinformation, skapa lag samt avbryta organisationskonton. Läs + Skriv + Adminåtkomst

medarbetare

Samarbetare används för att ge båda Läs + Skrivåtkomst till ett enda förråd som ägs av ett personligt konto. För att lägga till Collaborators, (andra Github personliga konton) gå bara till https://github.com/[username]/[repo-name]/settings/collaboration:

När det är klart kommer varje medarbetare att se en ändring av åtkomststatusen på arkivsidan. När vi har skrivåtkomst till förvaret kan vi göra en git klon, arbeta på förändringarna, gör en git pull att hämta och slå samman alla ändringar i fjärrförvaret och i slutändan git push, för att uppdatera fjärrförvaret med egna ändringar:


Verktyg 2: Pull-förfrågningar

Pull Requests är ett fantastiskt sätt att självständigt bidra till ett förråd genom att forking det. Vid slutet av dagen kan vi, om vi önskar, skicka en begäran om förfrågan till förvaringsinnehavaren för att slå samman våra kodändringar. Draförfrågan i sig kan sedan avfyra diskussioner om kodkvalitet, funktioner eller till och med generell strategi.

Låt oss nu gå igenom de grundläggande stegen för en dragförfrågan.

Inledande av en Pull-förfrågan

Det finns två modeller för dragförfrågan i Github:

  1. Gaffel & dragmodell - Används i ett offentligt förråd där vi inte har push-åtkomst
  2. Dela Repository Model - Används i ett privat förråd där vi har push-access. Gaffel är inte nödvändigt är detta fall.

Här ser vi arbetsflödet mellan två användare (repo-ägare och forked-repo-ägare) för gaffel- och dragmodellen:

  1. Identifiera Github Repository som du vill bidra till och klicka på "Gaffel" -knappen för att skapa en klon i förvaret i ditt eget Github-konto:
  2. Detta skapar en exakt kopia av förvaret på ditt eget konto
  3. Välj SSH-webbadressen så att den kommer att be om ditt SSH-nyckellösenord i stället för användarnamnet och lösenordet varje gång du git push eller git pull. Därefter klonar vi detta förråd till vår lokala maskin:
     $ git klon [ssh-url] [mappnamn] $ cd [mappnamn]
  4. Generellt kommer vi att skapa en ny git-filial för varje ny funktion. Det här är en bra övning, för i framtiden om vi uppdaterar filialen efter några diskussioner, kommer dragförfrågan automatiskt att uppdateras. Låt oss skapa en ny filial för att göra en mycket enkel ändring för att ändra readme.md fil:
     $ git checkout -b [ny funktion]
  5. Efter att ha gjort de relevanta tilläggen för att bygga de nya funktionerna kommer vi bara att begå de nya ändringarna och kassan till gitmästaren:
     $ git lägg till. $ git commit -m "information läggas till i readme" $ ​​git checkout mästare
  6. Vid denna tidpunkt kommer vi att driva filialen till fjärrförvaret. För detta kommer vi först att kontrollera filnamnet med den nya funktionen samt git-fjärrförvaringsaliaserna. Då kommer vi att trycka på ändringarna med git push [git-remote-alias] [filnamn]:
     $ git filial * master readme $ git fjärrkontroll - från [email protected]: [forked-repo-owner-username] / [repo-name] .git (hämta) ursprung [email protected]: [forked-repo- användarnamn] / [repo-name] .git (push) $ git push origin readme
  7. I vårt forkedförråd Github-sida kommer vi att byta till filialen med den nya funktionen och sedan trycka på "Pull Request" -knappen.
  8. Efter att ha lämnat indragsförfrågan tar den oss direkt till originalförrådets begäran om förfrågan. Vi kommer att se vår pull-förfrågan, både som en ny fråga och en ny dragförfrågan.
  9. Efter diskussionen kan det vara möjligt att forkedförvarets ägare kanske vill lägga till ändringar i den nya funktionen. I det här fallet ska vi checka ut till samma filial i vår lokala maskin, begå den och trycka den tillbaka till Github. När vi besöker sida för upphävningsförfrågan i originalförvaret uppdateras den automatiskt!

Sammanfoga en dragförfrågan

Om du är originalförvaringsinnehavaren finns det två sätt att slå samman en inkommande dragningsförfrågan:

  1. Sammanfoga direkt på Github: Om vi ​​sammanfogar direkt i Github, se till att det inte finns några konflikter och det är redo att slås samman i huvudgrenen. Det ursprungliga förvarets ägare kan helt enkelt klicka på den gröna knappen "Samla dragförfrågan" för att göra det:
  2. Sammanslagning i våra lokala maskiner: Vid andra tillfällen kan det gå samman konflikter och när du klickar på knappen "info" kommer Github att ha tydliga instruktioner om hur vi kan slå samman filialen i vår lokala maskin genom att dra in ändringarna från bidragsgivarens filial:

Det finns olika förgreningsmodeller som används för versionering i mjukvaruutvecklingsteam. Här är två populära git-arbetsflödesmodeller: (1) Github-arbetsflöde som har en enkel förgreningsmodell och använder dragförfrågningar och (2) Gitflow som har en mer omfattande förgrening. Modellen som så småningom väljs kommer definitivt att variera beroende på team, projekt och situation.


Verktyg 3: Felspårning

Pull Requests är ett fantastiskt sätt att självständigt bidra till ett förråd genom att forking det.

I Github är centrum för all bugsökning spåren. Även om de huvudsakligen är buggspårning, är det också till hjälp att använda problem på följande sätt:

  • Bugs: Saker som uppenbarligen är brutna och behöver repareras
  • Funktioner: Fantastiska coola nya idéer att genomföra
  • Att göra lista: En checklista över objekt att slutföra

Låt oss utforska några av funktionerna i problem:

  1. Etiketter: De är färgade kategorier för varje utgåva. De är till hjälp för att filtrera problem i enlighet med detta.
  2. milstolpar: De är daterade kategorier som kan associeras med varje problem och är användbara för att identifiera vilka problem som behöver bearbetas för nästa utgåva. Även eftersom milstolpar är kopplade till problem uppdaterar den automatiskt framdriftsfältet när du stänger varje associerat problem.
  3. Sök: Automatisk slutför sökning efter både problem och milstolpar
  4. Uppdrag: Varje problem kan tilldelas en person som är ansvarig för att åtgärda problemet. Det är en annan användbar funktion för att se vad vi ska arbeta på.
  5. Auto-close: Begär meddelanden med Fixes / Fixed eller Close / Closes / Closed # [issue-number] stänger automatiskt problemet.
     $ git lägg till. $ git commit -m "korrigerad url. fixes # 2" $ git push origin master
  6. omnämnanden: Vem som helst kan också lämna en anteckning genom att bara ange # [Emissions nummer] i sina meddelanden. Eftersom frågeställningarna är hyperlänka gör det här mycket enkelt att nämna relaterade problem under diskussionen.

Verktyg 4: Analytics

Det är uppenbart att vi kan tätt koppla vår arbetslista och uppdateringar till våra kodfördrag.

Det finns två verktyg som ger insikt i ett förråd - Grafer och nätverk. Github Grafer ger en inblick i samarbetarna och åtar sig bakom varje kodförteckning, medan Github Network tillhandahåller en visualisering av varje bidragsgivare och deras förpliktelser över alla forked repositories. Dessa analyser och grafer blir mycket kraftfulla, särskilt när man arbetar i team.

grafer

Grafer ger detaljerad analys som:

  • Medverkande: Vem var bidragsgivarna? Och hur många rader med kod lägger de till eller tar bort?
  • Begå aktivitet: Vilka veckor gjorde begåvningarna under det gångna året?
  • Kodfrekvens: Hur många rader av kod har begåtts under hela projektets livscykel?
  • Hålkort: Under vilka tider på dagen sker vanligen vanligtvis?

Nätverk

Github Network är ett kraftfullt verktyg som låter dig se varje bidragsgivares förpliktelser och hur de är relaterade till varandra. När vi tittar på visualiseraren i sin helhet ser vi varje förpliktelse på varje gren i varje förvar som hör till ett nätverk. Insiktsfull!


Verktyg 5: Projektledning

Även om Github-frågor har projektledningskapacitet med problem och milstolpar kan vissa lag föredra ett annat verktyg på grund av andra funktioner eller befintliga arbetsflöden. I det här avsnittet ser vi hur vi kan länka Github med två andra populära projekthanteringsverktyg - Trello och Pivotal Tracker. Med Github servicehakar kan vi automatisera uppdateringsuppgift med förpliktelser, problem och många andra aktiviteter. Denna automatisering hjälper inte bara till att spara tid, men ökar också noggrannheten i uppdateringar för alla mjukvaruutvecklingsgrupper.

Github och Trello

Trello ger ett enkelt, visuellt sätt att hantera uppgifter. Med hjälp av Agile Software Development-metoder kan Trello-kort emulera en enkel virtuell Kanban-styrelse. Som ett exempel skapar vi automatiskt ett Trello-kort när en Pull-förfrågan görs med Github Service Hooks. Låt oss gå igenom stegen!

  1. Öppna ett konto i Trello om du inte redan har en och skapa en ny Trello Board.
  2. Gå till Github-förvaret> Inställningar> Servicekrokar> Trello
  3. Få den TECKEN under installationsanvisningar # 1 med hyperlänken för autentisering.
  4. Under Install Notes # 2 använder du den URL som ges för att skapa en json-formaterad struktur som ger oss lista id för varje Trello-kort. BOARDID är en del av webbadressen när vi besöker styrelsen på https://trello.com/board/[BOARD-NAME]/[BOARDID]. TECKEN kan skapas med hyperlänken som ges under Installations Notes # 1.
  5. Tillbaka i Githubs servicehakar sätter du i lista id och den tecken. Kontrollera Active, Test Hook och vi är alla inställda att få automatiska uppdateringar varje gång det finns en Pull Request.
  6. Nästa gång det finns en Pull-förfrågan kommer Trull-kortet för Pull Request automatiskt att få ett nytt objekt!

Github och Pivotal Tracker

Pivotal Tracker är ett annat lättviktigt projekt för hanteringsverktyg där berättelsebaserad planering gör att laget enkelt kan samarbeta genom att omedelbart reagera på olika förändringar och framsteg i projektet. Baserat på lagets nuvarande framsteg kan det också skapa diagram för att analysera laghastigheten, uppbränningen av iserationen, släppa ned bränningen etc. I det här korta exemplet kommer vi automatiskt att leverera en historia genom att länka den till ett Github-engagemang!

  1. Skapa ett nytt projekt i Pivotal Tracker med en ny historia som behöver levereras.
  2. Gå till Profil> API Token (längst ner). Kopiera API-token ges.
  3. Kom tillbaka till Github-förvaret> Inställningar> Servicekrokar> Pivotal Tracker. Klistra in token, kolla Active och klicka på Update Settings. Vi är alla redo att automatiskt leverera Pivotal Tracker Stories med Github Commits!
  4. Slutligen kommer vi att begå våra ändringar och lägga till tracker-id till commit-meddelandet med formatet git commit -m "meddelande [levererar #tracker_id]"
     $ git lägg till. $ git commit -m "Github och Pivotal Tracker krokar implementeras [levererar # 43903595]" $ git push
  5. Nu när vi kommer tillbaka till Pivotal Tracker ser vi att historien har levererats automatiskt med länkar till exakt Github-commit som visar filändringar!

Med dessa Trello och Pivotal Tracker-exempel är det klart att vi kan tätt koppla vår arbetslista och uppdateringar till våra kodfördrag. Det här är en enorm tidsbesparare när du arbetar i ett lag, och det ökar noggrannheten när du kopplar upp uppgifter till exakt förbinder. Den goda nyheten är att om du redan använder andra projekthanteringsverktyg som Asana, Basecamp och andra, kan du också skapa Service Hooks på ett liknande sätt. Om det inte finns några befintliga servicekrokar för ditt nuvarande projekthanteringsverktyg kan du till och med skapa en!


Verktyg 6: Kontinuerlig integration

Kontinuerlig integration (CI) är en viktig del av alla mjukvaruutvecklingsprojekt som arbetar med team. CI säkerställer att när en utvecklare kontrollerar sin kod identifierar en automatisk byggnad (inklusive test) integrationsfel så fort som möjligt. Detta minskar integritetsfel och gör snabb iteration mycket effektivare. I det här exemplet kommer vi att se hur Travis CI kan användas med Github för CI för att upptäcka fel samt rekommendera att slå samman när det passerar alla tester.

Ställa in Travis CI

Vi kommer att använda ett enkelt "hello-world" -projekt för node.js med grunt.js som byggverktyg för att installera ett Travis CI-projekt. Här är filerna i projektet:

  1. De hello.js filen är nodprojektet. Här kommer vi avsiktligt att lämna ut en semikolon så att den inte kommer att passera grunt byggverktyget för linting:
     var http = kräver ('http'); http.createServer (funktion (req, res) res.writeHead (200, 'Content-Type': 'text / plain'); res.end ('Hello World in Node! \ n') // utan semikolon , detta kommer inte att passera linting). lyssna (1337, '127.0.0.1'); console.log ("Server som körs på http://127.0.0.1:1337/ ');
  2. package.json betecknar beroenden:
     "namn": "hej-lag", "beskrivning": "En demo för github och travis ci för team samarbete", "författare": "namn "," version ":" 0.0.1 "," devDependencies ": " grunt ":" ~ 0.3.17 "," skript ": " test ":" grunt travis --verbose "
  3. De gruntjs byggverktyg har bara en uppgift (linting) bara för enkelhet:
     module.exports = funktion (grunt) grunt.initConfig (lint: files: ['hello.js']); grunt.registerTask ('default', 'lint'); grunt.registerTask ('travis', 'lint'); ;
  4. .travis.yml är en Travis-konfigurationsfil som gör att Travis kör våra test:
     språk: node_js node_js: - 0,8
  5. Därefter loggar du in på Travis med ditt Github-konto och slår på förvarets krok under arkivfliken.
  6. Om steget före inte utlöser byggnaden måste vi manuellt ställa in servicekroken. För att ställa in det manuellt, kopiera Token under profilfliken.
  7. Gå tillbaka till Github-förvaret för att konfigurera Github Travis-servicehakarna med token.
  8. För första gången behöver vi göra en manual git push att utlösa den första Travis-byggnaden och om allt är okej, besök bara http://travis-ci.org/[username]/[repo-name] för att se byggnadsstatus som passerar!

Travis CI med Pull Requests

Tidigare, utan något CI i processen för en dragförfrågan, gick stegen något som detta (1) skickat dragförfrågan (2) fusion (3) test för att se om det passerar / misslyckas. Med Travis CI ansluten till dragförfrågningarna kommer vi att kunna invertera steg 2 och 3, vilket ytterligare ökar snabbt beslutsfattande om huruvida det är bra att sammanfoga med Travis som ger oss statusen med varje dragförfrågan. Låt oss se hur man får det att hända.

  1. Skicka en Pull-förfrågan med ett passande bygg, och Travis kommer att göra sin magi för att låta dig veta att det är bra att slå samman redan innan det går ihop
  2. Om Pull-förfrågan misslyckas byggs, kommer Travis också att varna dig.
  3. Om vi ​​klickar på den röda varningsknappen länkar den också till travis-sidan för att visa oss detaljerna i byggnaden.

Travis CI med Github är oerhört användbart för lag på grund av automatiserad byggnad och omedelbar anmälan. Det gör verkligen felkorrigeringscykeln mycket kortare. Om du använder Jenkins, ett annat populärt CI-verktyg, ja du kan även konfigurera Github servicehakar på samma sätt.


Verktyg 7: Kodgranskning

Med varje commit tillåter Github ett rent gränssnitt för allmänna kommentarer eller till och med specifika kommentarer på en kodlinje. Möjligheten att hämta kommentarer eller frågor på varje enskild kodlinje är mycket användbar för att göra linjeprocedurrecensioner. För att visa inline-kommentarerna, välj avkryssningsrutan högst uppe på varje commit.

Låt oss utforska några webbadressmönster som kan användas för att hjälpa oss med kodgranskning genom att snabbt ge oss skillnaderna mellan åtagandena:

  1. Jämför filialer / taggar / SHA1 : använd URL-mönstret https://github.com/[username]/[repo-name]/compare/[starting-SHA1]... [ending-SHA1]. Du kan göra samma sak med gren eller taggar.
  2. Jämför utan whitespace : Lägg till ?w = 1 till jämförelseadresserna
  3. Diff : Lägg till .diff till jämför webbadresserna för att få git diff information i vanlig text. Detta kan vara användbart för skriptändamål.
  4. Lappa : Lägg till .lappa till jämför webbadresserna för att få git diff information formaterad för e-post patch inlägg.
  5. Linjelänkning : När vi klickar på radenummeret på en fil, lägger Github till en #linje i slutet av webbadressen och gör hela bakgrundsfärgen så gul. Detta är snyggt för att peka ut den exakta linjen. Det accepterar också linjeregment genom att lägga till # Start-end. Här är exempel på linjelänkning och linjeledningslänkning.

Verktyg 8: Dokumentation

I det här avsnittet kommer vi att undersöka två dokumentationsmetoder:

  1. Formell dokumentation: Github Wiki för att skapa dokumentation för källkoden
  2. Informell dokumentation: Github Hubot att dokumentera diskussioner mellan lagmedlemmar och automatisera informationshämtning genom att interagera med en rolig chattrobot!
  3. Mentioner, genvägar och Emoji

Github Wiki

En Github Wiki kan skapas med varje förråd, och det kan vara mycket praktiskt att sätta både källkoden och dokumentationen under samma förråd. För att skapa Wiki, gå bara till Wiki-fliken på huvudhuvudet och du är inställd på att skapa sidor med information. Wiki själv har sin egen version, och data kan klonas in i vår lokala maskin för uppdateringar eller till och med offlineåtkomst.

En sak som jag tycker är väldigt användbar är att integrera Github Wiki i huvudkodsprojektet så att jag inte behöver behålla två separata gitprojekt. För att göra detta lägger jag till Wiki git repo som en submodul från huvudgrenen. Om du använder Travis CI eller något annat CI, se till att byggverktyget ignorerar wiki submodulen. För Travis CI-fil .travis.yml, lägg till följande:

 git: submodules: false

Lägg sedan till en git submodule wiki i huvudkodförvaret:

 $ git submodule lägg till [email protected]: [användarnamn] / [repo-name] .wiki.git Kloning till "hello-team.wiki" ... fjärrkontroll: Räkna objekt: 6, gjort. fjärrkontroll: Komprimera objekt: 100% (3/3), klar. fjärrkontroll: Totalt 6 (delta 0), återanvänd 0 (delta 0) Mottagande objekt: 100% (6/6), gjort. $ git lägg till. $ git commit -m "lagt till wiki som submodule" $ git push origin master

Nu visas wikan som en submodul inom huvudkodsprojektet.

Github Hubot

Hubot, i korthet, kan enormt lägga till mycket roligt för att dokumentera och anmäla gruppdiskussioner om viktiga förpliktelser.

Hubot är helt enkelt en chatt bot som kan hämta information eller meddela när den är ansluten till Github-förpliktelser, frågor eller aktiviteter. I ett lag som syftar till att minska mötena avsevärt eller helt och hållet eliminera dem, hjälper Hubot med ett chattgränssnitt mellan gruppmedlemmarna att dokumentera varje diskussion. Det främjar säkerligen flexibla arbetstider, eftersom ingen måste vara närvarande samtidigt som diskussioner kan äga rum. Varning: Hubot är fruktansvärt beroendeframkallande!

Med detta, låt oss börja med att konfigurera Hubot som hostas på Heroku och som en bot med campfirechattgränssnittet! För både Heroku och Campfire finns det gratis versioner att komma igång.

  1. Vi kommer att använda Githubs Campfire-version av Hubot. Om du vill kan du kolla adaptrar för andra chattar som Skype, IRC, Gtalk, etc..
  2. Öppna ett nytt Campfire-konto bara för Hubot och det här kontot skapar ett nytt chattrum som alla andra kommer att bli bjudna till senare.
  3. Distribuera Hubot till Heroku med anvisningarna i Hubot Wiki. Var inte orolig om heroku app url ger a Kan inte få / eftersom det inte finns något att få som standard.
  4. Från Hubot Campfire-konto, bjud in dig själv. Logga in nu på ditt eget Campfire-konto och kör Hubot hjälp. Det kommer att ge dig allt tillgängligt kommando för hubot.
  5. Ge några försök, till exempel hubot skicka den eller hubot karta mig CERN.
  6. Därefter lägger vi till ett Hubot-skript. Det finns många tillgängliga med kommandoillustrationer.
  7. Som ett exempel kommer vi att lägga till github-commits-skriptet så att varje gång det finns ett engagemang kommer Hubot meddela oss i chattrummet. Lägg filen github-commits.coffee inuti skript mapp.
  8. Uppdatering package.json fil med relevanta beroenden enligt instruktioner ovanpå varje hubot-skriptfil under kommentarer.
  9. Implementera ändringarna till Heroku igen med git push heroku master.
  10. Navigera till förvaret i Github vars förpliktelse kommer att visas i chatten. Lägg till i webkroken under repo-inställningar. I fråga om nämnda "github-commit" -skript kommer webhook att vara [HUBOT_URL]: [PORT] / hubot / gh-begår rum = [ROOM_ID]?
  11. Nästa gång förvaret har ett åtagande, kommer Hubot chatta in och säga det!

Kassa andra Github-relaterade Hubot-skript, eller om du vill skriva en så finns det också en cool tutorial på det! Hubot, i korthet, kan enormt lägga till mycket roligt för att dokumentera och anmäla gruppdiskussioner om viktiga fördrag, frågor och aktiviteter som äger rum med våra Github-repositorier. Ge det ett försök!

Som en sista anteckning om att arbeta med team på Github, här är några produktivitetstips:

  1. nämner - I något textområde kan vi nämna en annan github-användare med @användare och användaren kommer bli informerad om kommentaren
  2. Genvägar - Tryck [flytta] + ? för att komma åt Github-genvägar på en sida.
  3. Emoji - Med hjälp av Emoji cheat-arket stödjer Github textareas också infogning av ikoner. Fortsätt och ha kul med dina lagkamrater!

Samarbete om icke-programvara på Github

De flesta av oss kommer att tänka på att använda Github endast för mjukvaruprojekt. Trots allt började Github för socialt "kodning". Men det finns några coola Github-arkiv som används för icke-kodande projekt, och de var lika grymma för samarbete och diskussion. Eftersom dessa projekt också är öppna källor och alla kan bidra, är det snabbt att fixa fel, lätt att rapportera fel och effektivt att samarbeta med likasinnade personer. Bara för skoj, här är några av dem:

  • Hemfixar: Problemspårning som övervakningsverktyg
  • Böcker: Little MongoDB Book, Backbone Fundamentals
  • Text: JSConfEU Lyrics
  • Hitta pojkvän: boyfriend_require
  • mentorskap: Wiki
  • Genomiska data: Ash Dieback-epidemin
  • Bloggar: CSS Wizardry

Och undrar vad Github-laget tycker om det?

"Vi gräver roliga användningar av GitHub så här"


Fler resurser

  • Social kodning i GitHub, ett forskningspapper av Carnegie Melon University
  • Hur Github använder Github för att bygga Github av Zac Holman
  • Git och Github Secrets av Zac Holman
  • Nya funktioner i Github från Github Blog
  • Github Help: Dra förfrågningar, Fork a Repo
  • Github funktioner för samarbete
  • Netuts + Tutorials: Git och Github
  • Lord of the Files: Hur Github Tamed Free Software (och mer) av Wired

Mer kul samverkande!

Så det var en uppgörelse av några samarbetsverktyg i Github. De flesta av dem fungerar som snabba analytiska verktyg, eller till och med automatisering som hjälper till att spara tid när du arbetar med två eller flera lagkamrater. Har du fler Github tips för lag? Låt oss dela nedan!