Söka efter och ordna historiken för din lagringsplats med GitHub
Här går vi igenom hur du kan använda filter, skuld, korslänkning, etiketter, milstolpar, sparade svar och tilldelningar för att söka efter och organisera lagringsplatsens historik.
Tänk dig att du är en utvecklare som precis har anslutit till ett stort projekt. Någon har precis publicerat ett nytt problem som rapporterade ett fel som är relaterat till webbappens sidofält, och du har fått i uppgift att åtgärda det. Du har redan läst igenom rapporten några gånger och förstår problemet som beskrivs, så nu måste du ta reda på hur du kommer igång med korrigeringen.
Som ny gruppmedlem är du ännu inte bekant med kodbasen. Du har inte heller varit en del av planeringsdiskussionerna, kodgranskningarna eller något annat som skulle ge dig den kontext du behöver för att starta implementeringen. Du måste först skaffa den bakgrundskunskapen för att bäst fastställa rätt korrigering.
Söker i GitHub
Även om du inte deltog i de händelser som ledde till det inbyggda sidofältets implementering är många av dessa händelser aktiva i projektets historik. Genom att söka i projektets lagringsplats efter ”sidofält” får du en startpunkt.
Det finns två tillgängliga sökmetoder på GitHub: den globala sökningen överst på sidan och den omfångssökning som är tillgänglig på vissa flikar i databasen. De stöder samma syntax och funktion på samma sätt, men med vissa viktiga skillnader.
Global sökning
Med den globala sökningen kan du använda den fullständiga söksyntaxen för att söka i hela GitHub.
Sökresultaten är omfattande och innehåller allt från kod till problem till Marketplace (och även användare). Detta är det bästa sättet att hitta omnämnanden av viktiga termer i flera resultattyper och databaser.
Kommentar
Filtersatsen is:pr filtrerar ut problem som returneras från arkivet för problem/pull-begäranden. Vissa filtersatser, till exempel is:pr, stöds bara av vissa sökleverantörer och ignoreras av andra. Till exempel stöder kodsökningsprovidern inte den satsen, så den ignorerar den och returnerar samma kodresultat i båda riktningarna.
I vårt scenario är det bra att använda den globala sökningen som är begränsad till den aktuella lagringsplatsen för att hitta kod och incheckningar som nämner termen ”sidofält”. Du får förmodligen också träffar för problem och pull-begäranden, även om de inte är lika lätta att filtrera ytterligare i global sökning resultatvyn.
Prova den avancerade sökningen om du vill skapa en komplex global sökning.
Sammanhangssökning
Kontextsökningar är tillgängliga på vissa flikar, till exempel Problem och Pull-begäranden. Dessa sökningar är begränsade till den aktuella lagringsplatsen och returnerar endast resultat av den typen. Fördelen med det här omfånget är att det gör att användargränssnittet kan exponera kända typspecifika filter som författare, etiketter, projekt med mera.
Att använda sammanhangsökning är det bästa alternativet när du letar efter något i den aktuella lagringsplatsen. I vårt scenario är det här ett bra sätt att hitta sökresultat som nämner "sidofält", som du sedan enkelt kan förfina med hjälp av filterlistrutorna.
Använda sökfilter
Det finns ett oändligt antal sätt att söka med hjälp av den fullständiga söksyntaxen. De flesta sökningar utnyttjar dock bara några vanliga filter. Även om dessa ofta är tillgängliga i listrutor med sammanhangssökning är det ibland bekvämare att skriva dem direkt.
Här följer några exempel på filterfrågor:
| Fråga | Förklaring |
|---|---|
is:open is:issue assignee:@me |
Öppna ärenden som tilldelats den aktuella användaren (@me) |
is:closed is:pr author:contoso |
Stängda pull-begäranden som skapats av @contoso |
is:pr sidebar in:comments |
Pull-begäranden där ”sidofält” anges i kommentarerna |
is:open is:issue label:bug -linked:pr |
Öppna ärenden som är märkta som buggar och som inte har någon länkad pull-begäran |
Läs mer om att förstå söksyntaxen
Använda milstolpar
Med milstolpar kan du gruppera problem och hämta begäranden till delade mål, till exempel en sprint, en produktversion eller en projektfas. De hjälper teamen att spåra förloppet och hålla alla i linje.
- Milstolpar kan ordnas (precis som projekt), vilket gör det enkelt att ange prioriteringar och visualisera vilka milstolpar som är viktigast.
- Framsteg mot varje milstolpe spåras automatiskt – GitHub visar hur många problem eller PR:er som är klara och hur många som återstår.
- Milstolpar är särskilt användbara för att spåra arbete som går in i separata versioner eller faser.
Skapa en milstolpe
- Gå till fliken Problem på lagringsplatsen.
- Välj Milstolpar på den översta menyn.
- Klicka på Ny milstolpe.
- Ange en rubrik, beskrivning och eventuellt ett förfallodatum.
- Klicka på Skapa milstolpe.
Tilldela en milstolpe till ett problem eller en pull-begäran
- Öppna alla problem eller PR.
- Välj Milstolpe i det högra sidofältet.
- Välj från listan över tillgängliga milstolpar.
Du kan också lägga till milstolpar som en kolumn i din GitHub Projects-layout eller visa en milstolpe som ett kort på en GitHub Projects-styrelse. Detta hjälper dig att visualisera och hantera teamets framsteg direkt från projektplaneringstavlan.
Du kan filtrera efter milstolpe i GitHub Projects eller med avancerade sökfrågor som:
is:open is:pr milestone:"Release v1.0"
Milstolpar fungerar bäst när de används konsekvent i teamets planeringsarbetsflöde.
Etiketter och milstolpar i sökning
Etiketter och milstolpar är metadataverktyg som hjälper teamen att organisera problem och pull-begäranden. De förbättrar också noggrannheten för sökfrågor.
Filtrera efter etikett
Du kan begränsa problem genom att filtrera med nyckelordet label: .
Till exempel:
is:open is:issue label:bug
Detta returnerar alla öppna problem som är märkta som "bugg". Etiketter kan återspegla problemtyp, prioritet, team- eller arbetsflödesstatus.
Tips/Råd
Du kan kombinera etiketter med andra filter för exakta frågor, till exempel:
is:pr label:"ready for review" author:@me
Filtrera efter milstolpe
Milstolpar hjälper dig att gruppera problem och hämta begäranden mot en målversion eller ett mål. Använd nyckelordet milestone: i frågan för att returnera objekt inom en viss milstolpe.
Till exempel:
is:open is:issue milestone:"Sprint 1"
Kommentar
Endast öppna milstolpar matchar om du inte inkluderar stängda genom att söka med milestone:*.
Vad är git blame (skuld)?
Trots dess olycksbådande namn är git blame ett kommando som visar incheckningshistoriken för en fil. Det gör det enkelt för dig att se vem som gjorde ändringar och när. Detta gör det mycket lättare att spåra andra personer som har arbetat med en fil för att söka deras bidrag eller deltagande.
Kommentar
Vissa Git-systemalias git praise till git blame för att undvika implikation för bedömning.
Blame (Skuld) i Git
GitHub utökar de grundläggande git blame-funktionerna med ett mer robust användargränssnitt.
I vårt scenario finns det några sätt att komma åt den här vyn. Du kanske har hittat kod i sidofältet från den globala sökningen och valt alternativet Skyll för att se vem som arbetade med koden senast, eller så kanske du hittade en pull request och spårade tillbaka till den senaste commiten som verkar relaterad till felbeskrivningen. Hur som helst är skuldvyn ett effektivt sätt att hitta en ämnesexpert för uppgiften.
Korslänkningsproblem, incheckningar och mycket mer
En del av det som gör GitHub perfekt för samverkande programprojekt är dess stöd för att länka ihop olika delar av information. En del av detta sker automatiskt, till exempel när du skapar en pull-begäran från en serie av incheckningar på en gren. Andra gånger kan du använda gränssnittet för att manuellt länka pull-förfrågningar eller projekt till problem med hjälp av listrutealternativen.
Sparade svar
Med sparade svar kan du snabbt svara på problem och pull-begäranden med förskrivna meddelanden. De är särskilt användbara för projektansvariga som ofta ger samma feedback eller instruktioner.
Skapa eller redigera ett sparat svar
- Klicka på profilfotot i det övre högra hörnet och välj Inställningar.
- I det vänstra sidofältet klickar du på Sparade svar.
- Välj Nytt sparat svar.
- Ange en rubrik och ditt meddelande.
- Klicka på Spara svar.
Om du vill redigera eller ta bort ett sparat svar går du tillbaka till inställningarna för sparade svar och använder alternativen bredvid var och en.
Använda ett sparat svar
När du skriver en kommentar om ett problem eller en pull-begäran kan du infoga ett sparat svar:
- Klicka på kommentarsrutan.
- Välj ikonen Infoga ett sparat svar (pratbubbla med rader).
- Välj ett sparat svar i listan.
- Ändra texten om det behövs och klicka sedan på Kommentar.
Sparade svar sparar tid och hjälper till att säkerställa konsekvens när du svarar i hela projektet.
Här är en uppdaterad version som innehåller vägledning om ärendemallar – förklara vad de är, hur de skiljer sig från sparade svar och varför de vanligtvis är bättre för att samla in strukturerad information i förväg.
Problemmallar
Även om sparade svar är användbara för vanliga svar är problemmallar ett bättre sätt att se till att deltagare ger all nödvändig information när de skapar nya problem.
- Problemmallar uppmanar användarna att fylla i specifika fält eller svara på vissa frågor i förväg, minska fram och tillbaka och se till att du har den information du behöver från början.
- Mallar hjälper underhållarna att undvika "förlorade data" genom att samla in strukturerad information innan ett problem ens skickas.
Tips/Råd
Om du vill konfigurera problemmallar går du till lagringsplatsens inställningsproblem>>Konfigurera mallar. Du kan skapa mallar för felrapporter, funktionsbegäranden eller något annat som ditt projekt behöver.
Bästa praxis: Använd problemmallar för att samla in nödvändig information och minska saknad eller ofullständig information. Använd sparade svar för rutinmässiga svar och instruktioner när problem eller pull-begäranden har skickats.
Lägga till tilldelningar
Du kan tilldela en eller flera personer till ett ärende eller en pull-begäran för att visa vem som är ansvarig för att arbeta med det.
Lägga till en tilldelad
- Öppna problemet eller pull-begäran.
- I det högra sidofältet klickar du på Tilldelare.
- Välj en eller flera användare i listrutan.
Du kan också tilldela personer direkt från listvyn med kryssrutorna bredvid varje problem och välja Tilldela i det övre fältet.
Tips/Råd
assignee: Använd filtret i dina sökningar för att hitta objekt som har tilldelats till dig själv eller andra.
Exempel:
is:open is:issue assignee:@me
Referenser till autolänkar
För att göra det ännu enklare att korsa länkar mellan olika objekt i projektet erbjuder GitHub en snabbsyntax. Om du till exempel lämnar en kommentar som Duplicate of #8 kommer GitHub att identifiera att #8 är ett problem och skapa en lämplig länk åt dig.
GitHub länkar även incheckningar åt dig om du klistrar in de första sju eller fler tecknen i dess ID.
I vårt scenario kan dessa länkar vara mycket värdefulla för att snabba på om någon har tänkt lämna sammanhanget. Sidopanelens aktuella tillstånd kan till exempel ha haft några kända problem som rör ett JavaScript-beroende. Om problemet med det beroendet diskuterades i ett annat problem som inte uttryckligen nämnde "sidofält" skulle det vara svårt att hitta. Men om någon hade tänkt på att länka problemet i diskussionen kan det nu spara mycket tid. Kom ihåg det nästa gång du skapar problem och pull-begäranden.
Läs mer om autolänkade referenser och URL:er.
Loopa i användare med @mention
Förutom att länka problem och incheckningar är det ofta bra att associera andra personer med diskussioner. Det enklaste sättet att göra detta är genom att använda en @mention. Den här typen av omnämnande meddelar den nämnda användaren så att de kan delta i diskussionen. Det är också ett bra sätt att identifiera personer som är associerade med problem långt efter att de har stängts.