Ett alternativ är att starta en skalprocess och använda Gits kommandoradsverktyg för att göra jobbet. Detta har fördelen att vara det kanoniska sättet, och alla Gits funktioner stöds. Det råkar dessutom vara ganska enkelt, eftersom de flesta körtidsmiljöer har ett relativt enkelt sätt att anropa en process med kommandoradsargument. Detta angreppssätt har dock vissa nackdelar.
En är att all utdata är ren text. Det betyder att du måste tolka Gits ibland skiftande utdataformat för att läsa framsteg och resultatinformation, vilket kan vara ineffektivt och felkänsligt.
En annan är bristen på felåterhämtning. Om ett kodförråd är skadat på något sätt, eller om användaren har ett felaktigt konfigurationsvärde, kommer Git helt enkelt att vägra utföra många operationer.
Ytterligare en är processhantering. Git kräver att du upprätthåller en skal‑miljö i en separat process, vilket kan innebära oönskad komplexitet. Att försöka samordna många av dessa processer (särskilt när man eventuellt kommer åt samma kodförråd från flera processer) kan vara ganska utmanande.