Digital Electronics

Dumma git tekniker

mina ursäkter om du talar drottningens engelska eftersom den titeln sannolikt har en helt annan betydelse för dig än jag tänkte. Faktum är att jag talar om GIT, versionshanteringssystemet. Förra gången jag pratade om exakt hur programmet kom och erbjöd dig några tutorials. Om du är en färgad programvaruprogramutvecklare, behöver du sannolikt inte att det är övertygat om att utnyttja git. Men även om du inte är det finns det mycket saker du kan göra med Git som inte i form den vanliga mögel.

Spårningsdokument

Git är verkligen bra på att spåra modifieringar i dokument. Om du skriver vanliga textfiler, markdown eller tex-filer, är du i affärer. Det finns dock en teknik som du kan använda om du använder Word, OpenOffice eller många andra ordbehandlingsprogram. Som en fördel kan du även arbeta tillsammans med andra som använder olika program.

Tricket, som förklaras i denna publicera och den här, är att konfigurera GIT för att använda ett program som heter PANDOC för att konvertera dina inmatningsdata till markdown. Git-programmet kan lagra både, såväl som du kan förklara för det att skillnader i markdown-data motsvarar skillnaderna i dokumentfilen.

Pandoc är ett verktyg som är värt att förstå om ändå. Den konverterar såväl som från ett svimlande antal format. Om du vill ge dig en huvudvärk kan du bredda grafiken från deras webbplats samt försöka spåra alla linjer.

Vi har sett den här typen av saker för collaborative läroböcker, liksom även utnyttjas för att spåra ofta ändrar dokument som franska juridiska koder som går tillbaka till Napoleons tid.

Arbeta på en webbplats

Du kan snabbt förlänga begreppet spårningsdokument för att spåra HTML-sidor för din webbplats. Du kan bara använda den när du producerar såväl som sedan ladda upp dina data som vanliga. Du kan på samma sätt använda specialiserade arbetsflöden. Även om du är den enda skaparen av webbplatsen, som kan spola tillbaka till vad webbplatsen uppträdde som förra veckan eller förra månaden är ofta plötsligt användbar.

Hantera din bash-profil eller / etc

Om du använder Linux har du en hel del data som konfigurerar din miljö. Saker som din .bashrc, .emacs, såväl som så är svåra att hålla exakt samma om du använder flera maskiner. Visst, du kan rsync dem, men om de någonsin blir krossade, kan det vara svårt att gå tillbaka och ta reda på vad som hände. Därför komponerade jag ett system för att hantera denna fråga som utnyttjar git. När den är konfigurerad kommer dina maskiner omedelbart att hämta någon typ av modifieringar som du trycker på fjärrkontrollen (jag håller min på gitlab). Systemet är mångsidigt tillräckligt för att aktivera anpassad konfiguration per maskin samt även hålla slumpmässiga data i synkronisering för dig med bara en bit inställning.

Det finns en liknande bunt som heter etcokeeper för att hålla reda på din systemövergripande konfiguration i katalogen / etc. Du kan föreslå att konfigurationsdata är i huvudsak bara kod, men avsikten är dock inte kodande, men håller versionen hantera såväl som synkronisering mellan maskiner. Också, i en etcokeeper, det finns justeringar så att Git kommer att lagra vissa metadata som är viktigt för den ansökan.

Git som en databas eller buggspårare

Om du använder git för utveckling, är det bara meningsfullt att du kan utnyttja det för att spåra buggar också. Faktum är att du kan använda git som en enkel databas. Förvänta dig inte att köra SQL-frågor – det här visar bara ett namnvärdepar-system (den ordspråkiga NOSQL-databasen).

Naturligtvis kan du lagra sqlite-databasen (eller något annat) i git. Om du gör det kan du spela några tekniker som PANDOC-tekniken för dokument som hjälper till att förstå dina databaser bättre.

Twitter (Ja, Twitter)

Har du någonsin önskat ett distribuerat Twitter-implementering? inspektera Madrox. Vi är inte säker på varför vi vill ha det här, men vi gör det.

Textbaserade bildspel

Har du någonsin velat visa en progression av textskärmar som ett bildspel? Kanske inte, men om du gjorde det, kan Git göra det också. Det behöver dock lite hjälp från Vim.

Så…

Även om du aldrig behöver någon typ av dessa tricks, kan några av de tekniker som används för att koaxera till att göra något ovanligt, styra dig att tro på något annat. Ett uppenbart koncept skulle vara ett skillnadsprogram för Gerbers eller något annat tryckt kretskortdataformat. Att kunna se vad som ändras mellan några ändringar av ett PC-kort skulle vara verkligen användbart. Självklart skulle det också vara användbart att kunna spåra schema. Flavour Designs bör inte alls vara fråga.

Har någon typ av användbara githackar? Lämna en länk i kommentarerna.