reverse ein git fetch
Habe ich ein gründliches Verständnis von git, und der Unterschied zwischen pull, fetch und merge. Ich habe eine Fernbedienung, die ich verfolge, fetch und merge mit gelegentlich, sagen wir es origin/master. Was ich Suche zu tun, Umgekehrt ist das Verhalten einer 'git fetch'. Es klingt doof, aber ich will un-update, wo mein remote-tracking-branch-Punkte, die zu einem älteren Zustand, der Zustand unmittelbar vor dem letzten zu Holen. Ist das möglich?
Zum Beispiel, können sagen, dies ist mein workflow...
git show origin/master # shows commit abc123
git fetch # yay i got something!
git show origin/master # shows commit def456
mystery-Befehl geht hier so, dass...
git show origin/master # shows commit abc123
Es ist irgendwie eine seltsame Sache zu wollen, aber ich habe einen crontab, der Uhren ein git-repo zu erkennen, wenn es etwas zu Holen, und habe ich Probleme, debugging das Skript, führt einige Aktionen aus, die auf dieses Verhalten. Anstatt zu warten, für die origin/master zu ändern, würde ich mag, um es zu ändern mich, damit ich Debuggen kann mein Skript!
InformationsquelleAutor der Frage user2141094 | 2013-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du willst
update-ref
will den vollen Zauber auf die ref es zu aktualisieren, weil es (viel) niedrigeren Niveau als die Befehle, die Achtung ref-Namenskonventionen.InformationsquelleAutor der Antwort jthill
Ich bin mir nicht sicher ob es eine tatsächliche git-Befehl, es zu tun, und das ist eine große hackish, aber...
funktionieren sollte
InformationsquelleAutor der Antwort Dewey Sasser
Dies ist nicht ein "reverse ein git fetch" Antwort, aber es scheint Ihr tatsächlichen problem ist, wie programmgesteuert "Uhr ein repo für Veränderungen", ohne notwendigerweise die änderung das repository in irgendeiner Weise.
Für diese, die Sie verwenden können
git fetch --dry-run
. Ein Trockenlauf verursacht keine änderungen an Ihr repository, aber wenn es änderungen in der remote, dann wird es einige grundlegende terminal-Ausgabe; wenn es keine änderungen gibt es keine Ausgabe. Wenn Sie möchten, um dieses Rennen als ein automatisiertes Skript, anstatt einer manuellen Prüfung sollte es relativ einfach sein, das erstellen eines einfachen bash-Skript, dass die testsgit fetch --dry-run
für die Ausgabe.InformationsquelleAutor der Antwort Tasos Papastylianou
Ich hoffe, dieses mal habe ich das bekommen, was Sie wollen, und ich denke, es ist dieses:
InformationsquelleAutor der Antwort Stephan