Citat:
Ursprungligen postat av
Trollfeeder
Jaha, jag förstod dig nog fel först, jag tolkade det som att du inte ville pusha till repot du klonade, dvs origin.
Du försöker pusha ändringar som skriver om historiken, skulle jag tro. Kan någon annan ha mergat en commit? Har du provat att göra "git fetch" och sen kolla vad "git status" säger efter det?
Origin är ett repo - repot du klonade! Sen kan du ändra vad som är origin i .git/config, som ligger i repo-roten.
Master är en gren i ditt repo. Origin/master är hur master såg ut i origin när du gjorde fetch senast. När du gör
git push origin master
Så pushar du din master till origin. Din master trackar origin/master (per default), så Git vet att det är till origins master som dina ändringar ska pushas. Har du ingen tracking branch, så måste du speca vilken branch du pushar till också, men så är inte fallet här.
Är du med? Blev lite rörig förklaring...
Jag tror jag har fått en bättre koll på hur det fungerar, tack så mycket!
Det som skett här är att jag har gjort en klon av ett utvecklingsprojekt på jobbet.
Alla mina ändringar ska commitas och pushas till den klonen. Ingen annan använder min version.
När arbetet är utfört och testas ska detta mergas in i utvecklingsprojektet igen.
Så när jag stod i min klonade repository har jag kört (utan att tänka mig för)
git add .
git commit -m "message"
git push origin master
varpå git klagade på att jag måste göra en merge, och då drog jag slutsatsen att antingen "origin" eller "master" var definierade till att peka på utvecklingsprojektet, för annars skulle det fungerat som tänkt (att jag ville pusha mina commitade ändringar, i min klonade version, till master för min klon).
Så origin är då alltså troligtvis definierad till att peka på utvecklingsprojektet, och inte till min egen version, därav felet?
Är det vad detta betyder "origin /path/to/project (push)"? Det ser ju ut att kunna vara någon definition av origin (vid en push?) Jag antar att git-config också klonas om den ligger i repot?
Tack för all hjälp förresten!