You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Current »

Her kommer en liten guide til hva man kan gjøre om det oppstår konflikter med git, som problemer når man prøver "Git → Pull".

Hvordan unngå problemer:

Først og fremst ønsker man å unngå disse problemene.

  1. Ikke lag pakker i andre prosjekter enn “minegenkode”. Dersom dere gjør det, kommer det til å oppstå pull-konflikter når dere prøver å hente fra git. Et eksempel på når det kommer til å oppstå konflikter er om du går inn på “ovinger —> src —> “new package “ —> ….“ og lager en ny pakke der som ikke er hentet fra git.
  2. Ikke lag egne klasser i "foreksempel"-prosjekter


Hvordan løse konflikter:

Når man trykker på “Git” i Meny-baren og deretter “Pull”, vil det stå følgende om det ikke er noen pull-konflikter.


Hvis det er en pull-konflikt vil det under “Update Result” stå "Result: Checkout conflict". Under “Conflicting Paths” vil det vises prosjektene og klassene hvor problemet ligger. På følgende bilde ser vi en git-konflikt hvor det blant annet er problemer med "Counter"-klassen og "DownCounterController"-klassen  i mappen "foreksempel".


Om man har en slik konflikt, pass på å lagre det dere har opprettet som skaper konflikt i pakken “minegenkode”. 


For å løse Checkout konflkten, kan dere prøve på følgende:

Oppdatere prosjektene som hadde konflikter

  1. Høyreklikk på prosjektet, f.eks “ovinger”
  2. Velg “Replace With —> HEAD Revision”
  3. Om det kommer opp et vindu som heter "Discard Local Changes", velg "Discard Changes"
  4. Gjenta dette for alle prosjektene som hadde pull-konflikt. I tilfellet over ville det vært prosjektene "foreksempel" og "ovinger"

 

Figur: punkt 1 & 2                                             Figur: punkt 3           


Hvis dette ikke løser problemet, kan dere forsøke:

  1. “Replace With —> INDEX”
  2. “Replace With —> Previous Revision”
  3. “Replace With —> Branch, Tag, or Reference…”. Velg “Discard Changes”. Deretter, velg Branchen som inneholder ordet master under “Local” eller under “Remote Tracking” som på bildet, og trykk “Replace”.

Figur: de tre alternativene under punkt 1, 2 og 3

Figur: punkt 3


Hvis det enda ikke har løst problemet er det mulig dere jobber på feil branch. Isåfall må dere bytte branch til den riktige, som gjøres på følgende måte:

Sikre at dere er på riktig Branch:

1. Trykk på “Git —> Reset” i Menybaren 

2. Under “Remote Tracking”, velg siste branch. Dette skal være den som heter “origin/master…..”. For å være sikre på at dere er på rett branch, kan dere sjekke at hvilken branch som har senest dato under “Committer”. I dette tilfellet er siste branch lastet opp 12.02 kl. 14:00:39

3. Trykk “Reset”

  

Figur: punkt 1                              Figur: punkt 2 & 3


  • No labels