Versionshantering
Ditt projekt (kod och annan implementation och dokumentation) skall i denna kurs versionshanteras på GitLab.
Du kommer att bli tilldelad ett projekt i början av kursen. Du, kursledningen och din grupp kommer att kunna se detta projekt.
Vad ska versionshanteras?
Det korta svaret är ALLT du själv producerar! Ett lite längre svar är: alla filer som du själv editerar manuellt eller som behövs för att kunna leverera systemet.
- Dokument som t.ex. projektplan, iterationsplan, risklista, kravspec, etc. etc. Detta versionshanteras via wikin som hör till ditt GitLab-repo.
- Implementation som källkod och grafik som t.ex. asp, php, psd filer.
- Innehåll till systemet som t.ex. bilder i orginalutförande som behövs (.psd filer).
- Manuellt genererat innehåll som t.ex. bilder som behövs fast i leveransformat (.jpg, .gif, .png) Projekt/IDE-specifika filer som kan underlätta arbetet.
Vad ska inte versionshanteras?
- API-nycklar, lösenord etc.: Dock så händer detta hela tiden. Var noga med att skilja dina nycklar/lösenord från din kod genom t.ex. "miljövariabler".
- Externa bibliotek. Om din miljö är beroende av externa bibliotek etc., så bör dessa inte versionshanteras utan detta lämnar vi till de som underhåller den koden att sköta. Exempel på detta är jQuery, npm-bibliotek, ruby-gems etc.
- Din byggda kod. Detta kan diskuteras. Det kan finnas vissa tillfällen då det är bra att även minifierad/"uglyfied"-kod kan vara bra att ha i versionshanteringen tillsammans med en fullt körbar version av din kod.
- Versionshanteringen ska hjälpa projektdeltagarna att vara up to date med projektdokumentationen, kunna arbeta på systemet, samt att kunna leverera systemet snabbt och enkelt.
Du ska alltså undvika att versionshantera sådant som genereras automatiskt, t.ex. av en kompilator då frekventa ändringar av denna typ av filer ofta skapar konflikter mellan olika versioner. Det gäller att känna till sin utvecklingsmiljö så bra som möjligt. Se till att direkt lägga in en .gitignore-fil och hela tiden använda git status för att säkerställa att du inte lägger till kod till versionshanteringen som inte ska vara där. En bra regel kan vara att alltid lägga till alla filer explicit med git add {FILENAME}
och undvika git add -A
eller git add .
.