webentwicklung-frage-antwort-db.com.de

Wie kann ich einen entfernten Zweig mit einem lokalen Zweig zusammenführen?

Unser Projekt hat einen Entwicklungszweig. Ich habe einen Bugfix-Zweig erstellt, der auf dem Entwicklungszweig basiert, und eine Datei a.Java geändert. Und ich weiß, dass andere Leute den a.Java geändert und zusammengeführt haben, um einen Zweig zu entwickeln, als ich den Fehler behoben habe.

Jetzt habe ich den Fehler behoben, ich möchte meinen Code zum Entwickeln eines Zweigs zusammenführen, aber bevor ich das tue, möchte ich die Änderungen (da auch ein anderer Typ a.Java geändert hat) in meinen lokalen Zweig ziehen, um zu testen, ob sie funktionieren , habe ich recht? Wie kann ich es tun?

Zuerst habe ich den gesamten Code mit ' git pull ' abgerufen und bin in meinem Bugfix-Zweig. Führen Sie dann ' git merge develop ' aus, die Ausgabe ist leer. Dann füge ich ' git Origin/develop ' zusammen. Es werden folgende Fehler ausgegeben.

Updating 46f689b..3011608
error: Your local changes to the following files would be overwritten by merge:
        projectA/a.Java
Please commit your changes or stash them before you merge.
Aborting

Wie kann ich den Entwicklungszweig in mein Arbeitsverzeichnis aufnehmen? Danke.

3
liam xu

Da Sie Ihre lokalen Commits nicht in den Bug-Zweig pushen, müssen Sie rebase über den aktualisierten (vom anderen Entwickler) Origin/bug-Zweig setzen.

Stellen Sie dazu sicher, dass Sie zuerst die Konfiguration eingestellt haben :

git --global config pull.rebase true
git --global config rebase.autoStash true

(nur einmal in einem beliebigen Ordner)

Dann können Sie, während Sie sich in Ihrem aktuellen Zweig befinden, einen Beitrag von anderen mit einem einfachen einschließen:

git pull.

Stellen Sie nun sicher, dass alles festgelegt ist, und:

git checkout develop
git pull

Schließlich entwickeln sich zusammenführen

git checkout bug
git merge develop
1
VonC

Normalerweise mache ich in dieser Situation das, was ich gerne mache,

git stash # Stash your local changes
git pull  # Update code
git stash apply # Merge your local changes

Jetzt können Sie zur Verdeutlichung vor dem git pull den Zweig wechseln, wenn Sie einen anderen Zweig synchronisieren müssen. Von dort aus können Sie in Ihrem Bug-Fixes-Zweig wieder auftauchen und git stash apply ausführen, um ihn dann mit Ihrem develop-Zweig zusammenzuführen.

1
scharette

Weil Sie einige Änderungen an dieser Datei vorgenommen haben

Please commit your changes or stash them before you merge.

Folgen Sie einfach diesem:

# save current work state
git stash
# merge from develop
git merge Origin/develop
# recover current work state (get the last item of stash)
git stash pop
1
Vuong

Sie müssen Ihre Änderungen in projectA/a.Java festschreiben oder verwahren, bevor Sie andere Änderungen zusammenführen.

Commit-Beispiel:

$ git add projectA/a.Java
$ git commit -m "my change message"
$ git pull Origin/develop

Stash Beispiel:

$ git stash
$ git pull Origin/develop
$ git stash apply
0
Steve Mulvihill