Ich habe Schwierigkeiten, eine Kirsche-Auswahl durchzuführen. Auf meinem lokalen Rechner bin ich momentan in meiner "Master" Filiale. Ich möchte ein Commit von einem anderen Zweig namens "Zebra" auswählen. Der Zweig "Zebra" ist eine entfernte Filiale.Wie kann man aus einer entfernten Niederlassung wählen?
so git status:
# On branch master
nothing to commit (working directory clean)
ok, ich versuche jetzt herauspicken die befehle ich will:
git cherry-pick xyz
fatal: bad object xyz
wo "xyz" ist die Unterschrift des commit Ich bin interessiert in, das ist auf dem Zweig "Zebra" geschehen.
Also die erste offensichtliche Frage ist, warum kann git das Commit nicht finden, das ich verweise? Ich verstehe nicht wirklich, wie das überhaupt funktioniert, um ehrlich zu sein. Speichert git so etwas wie eine Datenbank mit Commits lokal in meinem Arbeitsverzeichnis, für alle anderen Zweige? Wenn Sie den Befehl cherry-pick ausführen, wird die lokale Datenbank durchsucht, um das Commit zu finden, von dem ich spreche?
Da "Zebra" eine entfernte Niederlassung ist, dachte ich, dass ich seine Daten nicht lokal habe. So wechselte ich Zweige:
git checkout zebra
Switched to branch 'zebra'
so jetzt hier auf meinem lokalen Rechner, kann ich sehen, dass die Dateien in dem Verzeichnis korrekt zerbra des Staates widerspiegeln. Ich wechsle zurück zum Master, versuche noch einmal zu picken (hoffe, dass die Commit-Daten jetzt verfügbar sind), aber ein Problem.
Ich habe ein grundlegendes Missverständnis von dem, was hier vorgeht, jede Hilfe wäre großartig.
konzeptionell scheint alles richtig. Sind Sie sicher, dass Sie den richtigen Hash (Signatur, wie Sie ihn nennen) des Commits verwenden? Versuchen Sie 'git show' zu überprüfen. –
0xc0de
Hallo, ja, positiv - meine beiden Zweige sind auf Github, und ich kann sie verwenden, um die Commit-Seiten auf diese Weise zu finden. Wenn ich verstehe, ist der Zustand meiner Maschine lokal so, dass Git den Hash von "Zebra" nicht finden kann, während er im Kontext von "Master" ist. Muss ich irgendwie sagen, dass "Zebra" auch lokal existiert? – user291701
oh und macht 'git show xyz' gibt den gleichen Fehler "fatal: bad object". (und ich ersetze xyz mit dem richtigen Hash). – user291701