it-swarm.com.de

Wie kann ich einen entfernten Zweig in einen anderen Zweig überschreiben, nicht zusammenführen?

Ich habe zwei Zweige. Inszenierung und Beta. Inszenieren enthält Code (einschließlich Dateien), den ich überhaupt nicht möchte. Wie kann ich Staging vollständig überschreiben lassen, sodass keine dieser Dateien oder Codes von Staging zu Beta zusammengeführt werden.

Ich sehe einige Leute empfehlen dies zu tun:

git checkout staging
git merge -s ours beta

Ich glaube jedoch nicht, dass die bereits vorhandenen Dateien ein "Code-Konflikt" wären und daher nicht entfernt werden würden. Liege ich falsch? Wenn ich recht habe, wie würde ich das erreichen?

30
Trip

Sie können einfach staging löschen und basierend auf beta neu erstellen:

git branch -D staging
git checkout beta
git branch staging
29
Daniel Hilgarth

Wenn Sie sich nicht für die alte Geschichte von staging interessieren, können Sie sie einfach neu erstellen:

git checkout beta
git branch -f staging

Wenn dir die alte Geschichte von staging wichtig ist, dann wird es mehr Spaß:

git checkout staging        # First, merge beta into staging so we have
git merge -s theirs beta    # a merge commit to work with.

git checkout beta           # Then, flip back to beta's version of the files

git reset --soft staging    # Then we go back to the merge commit SHA, but keep 
                            # the actual files and index as they were in beta

git commit --amend          # Finally, update the merge commit to match the
                            # files and index as they were in beta.
23
Amber

Ich schlage vor, Sie benennen es einfach um, falls Sie Ihre Meinung ändern.

git branch -m staging staging_oops
git checkout beta
git branch staging

Wenn Sie diesen zusätzlichen Zweig wirklich nicht aushalten können:

git branch -D staging_oops
8

Wenn die Geschichte der Inszenierung kein Thema sein wird, können Sie dies einfach tun.

git checkout staging 
git reset --hard beta

Denken Sie daran, dass die Historie der Inszenierung nach dem obigen Befehl verschwunden ist und stagingdie Arbeit Ihresbetabranch hat.

0
Amit Kushwaha