Introduktion til EGit
1. Oversigt
I denne artikel skal vi udforske EGit - en udvikling af JGit-biblioteket til Eclipse.
2. EGit-opsætning
I løbet af artiklen bruger vi følgende værktøjer:
- Eclipse Neon.3 version 4.6.3
- EGit plugin version 4.8
2.1. Installation af EGit i Eclipse
Fra og med Eclipse Juno er EGit inkluderet i Eclipse selv.
I ældre versioner af Eclipse kan vi installere pluginet igennem Hjælp -> Installer ny software og tilvejebringelse af URL //download.eclipse.org/egit/updates:

2.2. Identificering af en kommissær
Git skal holde styr på brugeren bag en forpligtelse, derfor skal vi give vores identitet, når vi foretager forpligtelser via EGit.
Dette gøres igennem Præferencer -> Team -> Git -> Konfiguration og klikke på Tilføj post at medtage information til bruger.navn og user.email:
3. Opbevaringssteder
3.1. Visning af arkiver
EGit kommer med Repositories-visningen, der giver os mulighed for at:
- Gennemse vores lokale lager
- Tilføj og initialiser lokale arkiver
- Fjern arkiver
- Klon fjernopbevaringssteder
- Tjek projekter
- Administrer grene
Klik på for at åbne repositories-visningen Vindue -> Vis visning -> Andet -> Git -> Git Repositories:

3.2. Oprettelse af et nyt lager
Vi er nødt til at oprette et projekt og højreklikke på det for at vælge Team -> Del projekt, og Skab.
Herfra vælger vi arkivmappen og klikker Afslut:

3.3. Kloning af et arkiv
Vi kan klone et lager fra en ekstern git-server til vores lokale filsystem.
Lad os gå til File -> Import ... -> Git -> Projects from Git -> Next -> Clone URI -> Next, derefterfølgende vindue vises:

Vi kan også åbne det samme vindue fra Klon Remote Repository værktøjslinjeknap i Opbevaringssteder visningsfane.
Git understøtter flere protokoller såsom https, ssh, git osv. Hvis vi indsætter URI'et i det eksterne lager, udfyldes andre poster automatisk.
4. Filialer
Der er to typer grene, vi vil beskæftige os med:
- Lokal afdeling
- Fjernsporingsfilial
4.1. Oprettelse af lokal filial
Vi kan oprette en ny lokal filial ved at klikke på Team -> Repository -> Skift til -> Ny gren:

Vi kan vælge den eksterne sporingsgren, hvorfra vi baserer vores lokale filial. Tilføjelse af upstream-konfiguration til vores nye lokale filialer forenkler synkronisering af de lokale ændringer med de eksterne.
Det anbefales at kontrollere indstillingen i dialogen Konfigurer opstrøms til push and pull.
En anden metode til at åbne den nye grendialog ved at højreklikke på grene i Visning af arkiver -> Skift til -> Ny gren
4.2. Tjek filialen
Fra Opbevaringssteder visning, højreklik på grenens navn og klik Tjek ud:

Eller højreklik på projektet, og vælg Team -> Skift til -> vælg grenens navn:

5. Sporing af filer med Git
5.1. Sporing af ændringer
Spørgsmålstegn vises på filer, der endnu ikke er under Gits kontrol. Vi kan spore disse nye filer ved at højreklikke på dem og vælge Team -> Tilføj til indeks.
Herfra skal dekoratøren skifte til (+) tegn.
5.2. Forpligtelse til ændringer
Vi ønsker at forpligte ændringer til sporede filer. Dette gøres ved at højreklikke på disse filer og vælge Team -> Forpligtelse:

Som standard tages forfatteren og kommitteren fra .gitconfig fil i vores hjemmekatalog.
Vi kan indtaste en forpligtelsesbesked for at forklare ændringerne. Derudover ved at klikke på Tilføj underskrevet af ikon i øverste højre hjørne, kan vi tilføje et Sign-off-by tag.
5.3. Inspicere historie
Vi kan kontrollere historikken for en fil ved at højreklikke på den og vælge Team -> Vis i historik.
En historikdialog viser alle de forpligtede ændringer i den inspicerede fil:

Vi kan åbne de sidst forpligtede ændringer i sammenligningsvisningen ved at klikke på ikonet for sammenligningstilstand i øverste højre hjørne i fanen historie og derefter dobbeltklikke på filnavnet (her er et eksempel: HelloEgit / src / HelloEgitClass.java) i fillisten:

5.4. Skubbe ændringer til Remote Repository
For at skubbe vores ændringer skal vi have et eksternt Git-arkiv.
Fra Team -> Remote -> Push vi kan indtaste https-URL'en til det nye Git-fjernlager i en guide:

Næste trin er at:
- Vælg Tilføj alle grene spec for at kortlægge lokale filialnavne til de samme grennavne i destinationslageret
- Tryk på bekræftelsesknappen - guiden viser en forhåndsvisning af ændrede filer
- Endelig klikker vi Afslut for at skubbe vores lager til den fjerne placering.
Hvis vi har konfigureret Upstream Configuration fra afsnit 4.1, vil denne konfigurationsdialog ikke blive vist, og push'en bliver meget lettere.
5.5. Henter fra opstrøms
Hvis vi arbejder med en lokal filial, der er baseret på en ekstern sporingsfilial, kan vi nu hente ændringer fra opstrøms.
For at hente fra opstrøms højreklikker vi på projekt og vælg Team -> Hent fra Upstream (eller ved at højreklikke på lageret på Visning af arkiver og vælge Hent fra Upstream).
Denne hentning kan konfigureres ved at højreklikke på projektet og vælge Team -> Fjernbetjening -> Konfigurer hentning fra opstrøms:

5.6. Sammenligning og synkronisering
Hvis vi vil se ændringerne mellem den lokale arbejdsmappe og en forpligtet ændring, kan vi højreklikke på ressourcen og vælge Sammenlign med. Dette åbner Synkroniser visning for at give os mulighed for at gennemse ændringerne:

Ved at dobbeltklikke på den ændrede fil åbnes sammenligningseditoren, så vi kan sammenligne ændringerne.
Hvis vi vil sammenligne to forpligtelser, skal vi vælge Team -> Vis i historik.
Fra historikvisningen fremhæver vi de to forpligtelser, som vi vil sammenligne, og vælg den Sammenlign med hinanden mulighed:

Hvis vi vil sammenligne mellem arbejdsmappen og en gren, kan vi bruge Team -> Synkroniser
5.7. Fletning
Fletning inkorporerer ændringer fra en gren eller tag i den aktuelt tjekkede gren.
Vi kan fusionere ved at klikke Team -> Flet eller ved at højreklikke på lagernavnet i arkivvisningen og vælge Fusionere:

Nu kan vi vælge den gren eller det mærke, som vi vil flette med den gren, der aktuelt er tjekket ud.
6. Konklusion
I denne vejledning introducerede vi EGit-pluginet til formørkelse, hvordan man installerer og konfigurerer det, og hvordan man bruger det i vores daglige udvikling.
For flere detaljer om EGit, se dens officielle dokumentation her.