ziehen bestimmte commit/Datei aus dem git
Habe ich gemacht beiden commits in meinem git-repository, und drücken Sie dann auf meinen git-server
die beiden commits sind
- In der ersten commit-Datei ist verpflichtet
- In der zweiten commit-Datei B ist verpflichtet
nun auf der anderen development-server, den ich ziehen will, nur der erste commit oder EINE DATEI aus dem git-server. Wie Sie dies tun ?
- erstellen Sie einen neuen Zweig, der hat den ersten Beitrag, nicht aber den zweiten, und checkout branch ?
- danke, aber es ist nicht ein guter Weg? jeder andere Weg?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst auf Ihrem Entwicklungs-server, müssen Sie zum abrufen der Liste der änderungen aus dem git-server wie diesem:
Dann gibt es ein paar Optionen, um zu erreichen, was Sie wollen:
Cherry-pick der ersten commit - diese einfach 'zupft' die gewählten verpflichten, von einem anderen Zweig/repo-und die gilt es zu Ihren aktuellen lokalen branch. Es kann sehr nützlich sein, aber sollte mit Vorsicht verwendet werden (siehe unten).
In diesem speziellen Fall, könnten Sie tun,
Oder ziehen Sie alles und machen Sie dann einen hard-reset, um die zu Begehen Sie wollen (in diesem Fall der eine kurz vor dem KOPF). Ein hard-reset wirksam spult Ihren lokalen Zweig, der in der Zeit zurück, um die gewählten verpflichten, ändern Sie den Status aller Dateien an, wie Sie waren zu der Zeit (also in diesem Fall die Datei B würde entweder gelöscht werden, oder gehen Sie zurück zu wie es war, bevor entweder übernehmen, je nachdem, ob oder nicht es vorher gab).
Ich würde lieber die zweite option, die als cherry-picking kann einen Domino-Effekte, wenn Sie nicht vorsichtig mit Ihr. Ich glaube, es erzeugt eine neue hash-für das Begehen, so dass die cherry-picked Begehen und die ursprünglichen commit nicht identisch sind. Ich fürchte, ich habe keine Zeit, jetzt zu Lesen, auf diese und bestätigen genau das, was die Fallstricke sind, aber ich würde empfehlen, dass Sie untersuchen Sie es selbst, wenn Sie sich entscheiden, es zu benutzen.
BEARBEITEN - eine Andere Lösung (gegeben, dass dies ein live-server und es ist nicht akzeptabel, dass die Datei B angezeigt, auf dem server an jedem beliebigen Punkt) ist Folgendes zu tun:
Diese holt sich alle commits aus dem repo, und dann checkes Sie Ihre lokale repo auf den commit vor dem KOPF von dem, was abgerufen wurde. Der einzige Nachteil hier ist, dass Sie dann in "detached head" - Zustand und erstellen eine neue Niederlassung, die lokal, aber das ist kein großes problem.
cherry-pick
den commit ist nicht auf dem server, ich ziehen Sie es auf den server, so dass ich die Titel in Frage, ziehen Sie bis zu einem bestimmten commitDiese nicht machen zu viel Sinn - wenn Sie begangen, die Dateien, die Sie haben Sie in Ihrem repo sowieso.
Vielleicht ist dies, was Sie wollen
Oder