git merge Bereits auf dem neuesten Stand, wenn es nicht
Während der Arbeit an einem Projekt mit git und bitbucket.com es gibt folgende Zweige:
master
development
uat
production
Als ich begann die Projekt-Arbeit habe ich ein git clone der Entwicklung (denken natürlich, dass es enthielt die state of the art-code). Monate später, und es stellt sich nun heraus, dass der code in Produktions-Zweig (was läuft aktuell in der Produktion) hat eine höhere version als der code, den ich begann, mit Zweig in der Entwicklung.
Wenn ich versucht:
git checkout development
git merge production
heißt es "up to date". Wenn ich gehe:
git diff production..development
es spuckt viele Veränderungen mit sich, die sagen, Produktions-branch-code, der nicht in den Entwicklungszweig. Wie kann ich die Produktion Codes Zusammenführen mit der Entwicklung code ohne abwischen meinen Monaten der Arbeit?
- Siehe auch Git merge-Berichte ", die up-to-date" wenn es einen Unterschied.
- Dies kann auch passieren, wenn du
fetch
aber vergessen zupull
den Zweig, den Sie versuchen zu merge in den aktuellen branch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht wollen, um
merge
, sondernrebase
. Das ist, nehmen Sie änderungen, die Sie gemacht haben, der begeht Sie Hinzugefügt Zweigdevelopment
—diejenigen, die nicht da waren, wenn Sie erstmals Ihreclone
, aber sind es jetzt—und sehen, welche änderungen jeweils vorgenommen, in der Reihenfolge; und die änderungen anwenden, wieder in der Reihenfolge auf der Oberseite der Zweigproduction
.(Einige von Ihnen werden wahrscheinlich nicht sauber: änderungen
production
sind nicht indevelopment
wird bedeuten, dass einige, vielleicht viele, der von Ihnen vorgenommenen änderungen müssen geändert werden, um fit in. Schlimmer noch, die änderung der änderungen wird mit ziemlicher Sicherheit mehr Einfluss auf Ihre änderungen, so dass diese Festsetzung könnte schwierig werden.)Sagte, dass... "Up to date" bedeutet nicht, der code ist der gleiche, mit allen Mitteln. Es bedeutet nur, dass die commit-graph zeigt, dass es nichts neues zu bringen. Das wiederum bedeutet, dass Sie (oder jemand anderes) schon den Seriendruck. Die Baum befestigt, um das Finale Zusammenführen (das Ergebnis des merge) ist nicht das, was Sie wollen, aber das einzige, was git sehen kann, ist, dass die Zusammenführung getan. Sehen Warum nach dem merge funktioniert GIT-sagen "Bereits bis zu Datum", aber die Unterschiede zwischen den Branchen gibt es noch? für ein Beispiel mit
git revert
zum Beispiel.rebase
sagt das gleiche .. Gesicht-Schreibtisch