Übertragen von Code von einem Zweig eines Repos zu einem anderen Zweig eines anderen Repos

Lesezeit: 2 Minuten

Es gibt ein Repo sagen ABC/A. Ich hatte dieses Repo zu meinem eigenen Github gegabelt, sagen Sie ME/A. Ich wurde gebeten, einen Zweig auf ME/A, sagen wir x, zu erstellen (ursprünglich gab es „develop“ und „master“). Ich musste etwas Code schreiben, also habe ich ABC/A geklont und an seinem Entwicklungszweig gearbeitet. Aber jetzt, wenn ich den Code pushen muss, kann ich ihn nicht an ABC/A pushen, da ich keine Rechte dazu habe. Ich muss den Code zu ME/A schicken. Das Problem ist, dass ich am Entwicklungszweig für ABC/A gearbeitet habe, aber ich muss den Code in den ME/A x-Zweig schieben. Ist es möglich, Code auf diese Weise zu pushen?

Ja, Sie können jeden lokalen Zweig an jeden Remote-Zweig pushen. Die Syntax ist

git push <remote name, e.g. origin> <local branch name>:<remote branch name>

Wenn Ihr aktueller Zweig (der, den Sie pushen möchten) aufgerufen wird developwäre der Befehl

git push ME develop:x

  • Sie können auch git push HEAD:master verwenden, während HEAD auf die Spitze des Entwicklungszweigs zeigt

    – Darina Sergejewna

    27. Januar um 8:14 Uhr

Die Antwort von Roman ist richtig. Es gibt jedoch einen zusätzlichen Schritt, der für manche möglicherweise nicht offensichtlich ist. Sie müssen zuerst den Remote-Namen und die URL des neuen Repos hinzufügen (Repo, zu dem Sie pushen möchten), bevor Sie zu einem Branch in diesem Repo pushen. Dies kann so gemacht werden;

git remote add <remote name> <remote url>
//For example
git remote add origin2 https://[email protected]/example/new_repo.git

Dann können Sie wie in Romans Antwort fortfahren, indem Sie so zu diesem neuen Repo-Zweig drängen

git push origin2 local_branch:new_repo_branch

Angenommen, der Name der Fernbedienung, für die Sie verwenden ME wird genannt me (git remote -v show werde sie auflisten).

Dann mit Ihrer Filiale ausgecheckt, tun

git push -u me A

wo A ist der Name der Filiale. Das -u wird Ihren lokalen Zweig so einstellen, dass er den Upstream-Zweig verfolgt meAlso git pull wird von der richtigen Stelle ziehen, und Zukunft git pushes funktioniert ohne zusätzliche Befehle.

  • Ich möchte meine Änderungen an den entfernten Zweig x übertragen, aber meine Änderungen befinden sich im lokalen Zweig A. Was soll ich tun?

    – Benutzer3119346

    11. März 2016 um 12:10 Uhr

  • Wenn der entfernte Zweig x bereits vorhanden ist, checken Sie den entfernten Zweig x aus, führen Sie Ihre Änderungen darin zusammen und verschieben Sie ihn dann zurück.

    – Licht

    11. März 2016 um 13:37 Uhr

1256910cookie-checkÜbertragen von Code von einem Zweig eines Repos zu einem anderen Zweig eines anderen Repos

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy