Till KTH:s startsida Till KTH:s startsida

Git: vanliga frågor

Här är några vanliga frågor och bekymmer som kan dyka upp i samband med användning av Git i kursen.

SSH-nyckel och kloning av repon

Om du har problem med att testa att du satt upp din SSH-nyckel korrekt, tänk på att vi i kursen avänder KTH Git, gits-15.sys.kth.se (i motsats till Github, github.com).  Det betyder att korrekt kommando för att testa att man har satt upp sin SSH-nyckel korrekt är:

ssh -T git@gits-15.sys.kth.se

När du sedan ska klona ditt repo, tänk på att använda SSH-klonings-länken, som du hittar längst till höger och ganska långt ner på webb-sidan för ditt repo.  Detta är en URL som ska börja med "git@gits-15.sys.kth.se:".  Om du försöker klona URL:en till webb-sidan för repot (som börjar med "https://gits-15.sys.kth.se/") använder du inte SSH och kommer tvingas autentisera dig manuellt.

Inte samma fil på Kattis som i Git?

En del studenter har haft problem med att automatgranskningen av en inlämning fått komplettering med kommentaren att en fil som lämnats in i Git inte är samma fil som skickats in i Kattis, trots att exakt samma fil som skickades in i Kattis har lagts till i Git.

Från och med 6 september 2016 ska de flesta av dessa problem vara avhjälpta.  Om du fortarande har problem med detta, kontakta kursmailen progp-16@csc.kth.se!

För att diagnosticera den här typen av problem är det bra att känna till följande två Linux-kommandon:

  • file: detekterar filtyp på en fil.  T.ex:
    austrin@tcs59:~$ file fil-med-linux-rader.txt 
    fil-med-linux-rader.txt: ASCII text
    austrin@tcs59:~$ file fil-med-windows-rader.txt
    fil-med-windows-rader.txt: ASCII text, with CRLF line terminators
  • sha1sum: beräknar sha1-checksumman för en fil.  När automatgranskningen ger komplettering på att fel fil lämnats in talar den om vilka sha1-summor de två olika filerna har, och det kan vara bra att kunna beräkna dem lokalt för att felsöka.  T.ex:
    austrin@tcs59:~$ sha1sum fil-med-linux-rader.txt 12187f183a253dce023589648b05e27fbf0adf22  fil-med-linux-rader.txt

"Merge Pull Request"?

När ni lämnat in en labb via Git och fått den godkänd av Kodkod (vilket visar sig genom att etiketten "inväntar granskning" lagts till, och att dykerk upp en liten grön check), då ska ni inte göra Merge på er hämtbegäran själva.  Om ni gör det så är det väsentligen som att ni tar bort er inlämning, och den kommer inte granskas, och ni kommer inte få tid för redovisning av den, och den kommer därför inte bli godkänd.

Om ni trots allt råkat göra Merge på hämtbegäran (vilket är lätt hänt, eftersom den gröna "Merge pull request"-knappen är väldigt inbjudande), så är det dock som tur är inte så svårt att återställa:

  1. Klicka på den lilla knappen "Revert" som dyker upp i händelseloggen för hämtbegäran på raden där det står att den mergades.
  2. Detta resulterar i att en ny hämtbegäran öppnas som återställer repot (dvs tar bort er lösning).  Merga denna nya pull request för at återställa repot.
  3. Ni behöver nu uppdatera er fork av repot för att kunna skapa en ny inlämning.
  4. När ni gjort det, skapa en ny inlämning.