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?
Übertragen von Code von einem Zweig eines Repos zu einem anderen Zweig eines anderen Repos
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 develop
wä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 me
Also git pull
wird von der richtigen Stelle ziehen, und Zukunft git push
es 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