Praktiske tips om bruk av Git

git logo

under constructionI arbeid

1. Introduksjon til git og git-verktøy

Git er en standard for versjonskontroll og lagring av kode og dokumenter i repositories (eller repos).

Git repositories kan brukes til å lagre vilkårlige dokumenttyper, men egner seg best for tekstbaserte dokumenter, dvs. dokumenter hvor kildeformatet er lesbar tekst (ascii, unicode) og total filstørrelse blir begrenset. Det er dette git ble laget for, med funksjonalitet for versjonsstyring og kloning av hele repositories til egen maskin.

Noen eksempler på tekstbaserte dokumenter som egner seg for versjonsstyring i git:

  • Programvarekode

  • Markupspråk som Markdown og Asciidoc

  • Standard utvekslingsformater for modelleringsspråk som Archimate, BPMN, DMN og UML

  • Bildeformater som svg og png

Det finnes flere skybaserte repository-løsninger som støtter git. Blant de mest utbredte repository-løsningene for git repositories er GitHub, GitLab og Bitbucket. De ulike løsningene har noe ulik tilleggsfunksjonalitet for automatisering, samarbeid og tilgangsstyring.

Du kan arbeide i (løsnigsspesifikke) brukergrensesnitt i nettleseren, gjennom (standard) kommandolinje, gjennom grafiske (løsnigsspesifikke eller ikke) klientverktøy eller mot (løsnigsspesifikke) API-er.

2. Introduksjon til bruk av git i Nasjonalt arkitekturverksted

Nasjonalt arkitekturverksted benytter Antora som "wiki-løsning". Antora støtter sømløs integrasjon av Asciidoc-innhold fra fra ulike git repositories. Dette gjør det mulig å styre skrivetilgang til ulike deler av innholdet basert på repository.

I gitlab kan tilgangsstyring også gjøres på gruppenivå, dvs. for flere underliggende repos. Nasjonalt arkitekturverksted benytter Archi for Archimate-modellering. Archi støtter kombinering (merge) av modeller ved import. En importert modell kan eventuelt ligge i et uavhengig git repository.
Archi har også en egen collaboration plugin som benytter git for versjonsstyring, men Archi støtter ikke (per 2020) branching, og har ikke funksjonalitet for tilgangsstyring.

Som samarbeidsverkttøy benyttes blant annet issues i gitlab.

Issues are the fundamental mechanism in GitLab to collaborate on ideas, solve problems, and plan work.

Using issues, you can share and discuss proposals (both before and during their implementation) between you and your team, and outside collaborators.

You can use issues for many purposes, customized to your needs and workflow. Common use cases include:

  • Discussing the implementation of a new idea.

  • Tracking tasks and work status.

  • Accepting feature proposals, questions, support requests, or bug reports.

  • Elaborating on new code implementations.

Alle som vil, kan uansett bidra med forslag til nytt eller endret innhold ved å kopiere aktuelt GitHub repository (git Fork), gjøre endringer og så spille inn endringsforslag (git Pull Request). Redaksjonen for aktuelt GitHub-repository vil så behandle endringsforslaget og eventuelt ta inn nytt eller endret innhold (git merge).

Merk: Git gir flere muligheter enn "fork" og "pull request" for å spille inn endringsforslag, men vi anbefaler inntil videre "fork" og "pull request" som nevnt.

3. Tips for å komme i gang med git og Github

3.1. Opprett git-bruker i aktuelle skyløsninger

Du kan ha bruk for en eller flere git brukerkontoer, avhengig av det som gjelder der du jobber og hva du vil være med på. Her er lenker til registrering av brukerkonto hos noen utbredte løsningsleverandører:

3.2. Installer og konfigurer Git for Windows

Det antas her at du kjører Windows.

Det du får, ref. https://gitforwindows.org/:

  1. Git BASH

    Git for Windows provides a BASH emulation used to run Git from the command line. *NIX users should feel right at home, as the BASH emulation behaves just like the "git" command in LINUX and UNIX environments.

  2. Git GUI

    As Windows users commonly expect graphical user interfaces, Git for Windows also provides the Git GUI, a powerful alternative to Git BASH, offering a graphical version of just about every Git command line function, as well as comprehensive visual diff tools.

  3. Shell Integration

    Simply right-click on a folder in Windows Explorer to access the BASH or GUI.

under construction TODO: Om informasjonssikkerhet - SSH/passord.

3.3. Installer annen programvare for git og GitHub

3.3.1. TortoiseGit

Om du foretrekker å arbeide i grafiske brukergrensesnitt, finnes flere gode verktøy. Valget er ditt, men her anbefales TortoiseGit som et alternativ eller tillegg til Git for Windows for grafisk brukergrensesnitt. Noen grunner:

  1. TortoiseGit støtter git generelt. og kan dermed brukes på tvers av f.eks. Github, Gitlab og Bitbucket.

  2. TortoiseGit er enkel å bruke for de mest vanlige git-operasjonene (integrasjon med Windows Explorer gir tilgang til funksjoner via høyreklikking på mapper og filer).

  3. TortoiseGit støtter også avanserte funksjoner, for avanserte brukere, på en brukervennlig måte.

Installasjonen er enkel:

Last ned og kjør TortoiseGit installasjonsfil (typisk valg er 64 bit Windows msi-fil).

3.4. Andre git-tips

3.4.4. Gjør endringer

Gitt at du har skriverettigheter, kan du endre eksisterende filer, slette filer og tilsvarende for mapper. Når du gjør dette i et lokalt, klonet, repository, må du deretter synkronisere og eventuelt publisere dette før det blir tilgjengelig for andre.