git - status anzeigen (zwischen local & remote)

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
vrms
Beiträge: 99
Registriert: 25.03.2013 14:04:03

git - status anzeigen (zwischen local & remote)

Beitrag von vrms » 04.12.2014 01:38:17

git status zeigt mir an welche files in meinem lokalen repository geaendert wurden, die aber noch nicht commited sind

gibt es eine Moeglichkeit einen Ahnlichen vergleich zu meinem remote origin zu ziehen. Als Ergebnis haette ich gerne eine Liste mit files, die im remote origin geandert worden sind, aber noch nicht in meinem lokalen 'Eingeplegt' sind (pull oder merge)

git log zeigt mir ja die history meiner gepullten commits and, aber das ist noch nicht ganz, was ich suche (..Liste mit files, die im remote origin geandert worden sind, aber noch nicht in meinem lokalen 'Eingeplegt' sind).

bisher update ich mein lokal per git pull (was ja 'fetch' und 'merge' in einem Befehl ist). Ich koennte mir alsio denken das ein git fetch origin mir den geanderten code holt und das man danach einen solchen check vornehmen koennte bevor man git merge durchzieht.
  • 1.) Wie wuerde das konkret gehen?
    2.) Wie wuerde man die gefetchten Daten (sollte man entscheiden, dass man keinen merge machen will) wieder loswerden?

Liffi
Beiträge: 2346
Registriert: 02.10.2004 01:33:05

Re: git - status anzeigen (zwischen local & remote)

Beitrag von Liffi » 04.12.2014 08:48:10

git fetch origin ist schon richtig. Dann solltest du darauf diffen können. Also z.B. git diff origin/master (ungetestet, müsste aber gehen, evtl. Parameter um nur die Liste der Dateien zu haben).
Das fetch rückgängig machen ist... eigenartig. Du könntest natürlich origin/master auschecken und per git reset einen commit zurückgehen, aber ich weiß nicht, ob du das wirklich will. Meist will man ja bei diesem Vorgehen irgendwann alles aus master haben.

Benutzeravatar
Meillo
Moderator
Beiträge: 9268
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: git - status anzeigen (zwischen local & remote)

Beitrag von Meillo » 04.12.2014 22:17:09

Suchst du die Entsprechungen zu `hg in' und `hg out'? (Ich komme halt aus der Mercurial-Welt.) Die waeren:

Code: Alles auswählen

git fetch && git log HEAD..origin

git log origin..HEAD
Siehe: http://mercurial.selenic.com/wiki/GitConcepts
Use ed once in a while!

vrms
Beiträge: 99
Registriert: 25.03.2013 14:04:03

Re: git - status anzeigen (zwischen local & remote)

Beitrag von vrms » 06.12.2014 02:50:12

Liffi hat geschrieben:git fetch origin ist schon richtig. Dann solltest du darauf diffen können. Also z.B. git diff origin/master (ungetestet, müsste aber gehen, evtl. Parameter um nur die Liste der Dateien zu haben).
ist das woertlich der Befehl?

Code: Alles auswählen

git diff origin/master
Liffi hat geschrieben:Das fetch rückgängig machen ist... eigenartig. Du könntest natürlich origin/master auschecken und per git reset einen commit zurückgehen, aber ich weiß nicht, ob du das wirklich will. Meist will man ja bei diesem Vorgehen irgendwann alles aus master haben.
koennte man wollen, weil man erstmal nur checken will, was neu ist. Ein update koennte ja ein System mal ausser Betrieb setzen. Und da es sich in meinem Fall um ein 'produktionsrelevantes" ERP System handelt, will ich lieber erstmal gucken.

Liffi
Beiträge: 2346
Registriert: 02.10.2004 01:33:05

Re: git - status anzeigen (zwischen local & remote)

Beitrag von Liffi » 06.12.2014 07:17:22

vrms hat geschrieben: ist das woertlich der Befehl?

Code: Alles auswählen

git diff origin/master
Wenn du in fetch gemacht hast und in master stehst, vergleicht er das mit origin/master, welches schon geupdatet wurde.
Du kannst auch git diff master origin/master schreiben, das ist aber ein bisschen lang ;-). Genaus kannst du dein git fetch origin in ein git fetch umwandeln.
koennte man wollen, weil man erstmal nur checken will, was neu ist. Ein update koennte ja ein System mal ausser Betrieb setzen. Und da es sich in meinem Fall um ein 'produktionsrelevantes" ERP System handelt, will ich lieber erstmal gucken.
Das geht natürlich einfach so wie beschrieben. Bei Nichtgefallen einfach nicht git merge aufrufen, auf die Änderung warten, die den Fehler repariert und dann wieder git fetch; gucken; git merge.

Antworten