Ich hatte ein Git-Repository auf GitHub gehostet. Ich habe kürzlich die Maschine gewechselt und die Dateien manuell auf die neue Maschine kopiert, anstatt git pull
zu tun. Ich habe das irgendwie vergessen. Jetzt habe ich einige Änderungen vorgenommen und ein neues Git-Repository initiiert, während ich das GitHub-Repository als Remote hinzugefügt habe. Ich muss wissen, wie ich die beiden Repositorys zusammenführen kann, d. H. Meinen Commit-Verlauf vom GitHub-Repository beibehalten und auch meine am neuen vorgenommenen Änderungen beibehalten kann. Danke!
3 Antworten
Wenn es nicht zu viele Änderungen gibt (nur ein Commit ist wert), ist dies wirklich einfach:
- Klonen Sie das (Original-) Repo von Github in einen neuen Ordner.
git clone ssh://... newfolder
- Kopieren Sie alle Ihre Dateien aus dem Ordner, in dem Sie Ihre Änderungen vorgenommen haben, und fügen Sie sie ein. Überschreiben Sie die Dateien in
newfolder
- Machen Sie ein Commit in
newfolder
und drücken Sie. Zu diesem Zeitpunkt ist Ihre Github-Historie korrekt. Löschen Sie den alten Ordner und benennen Sie den neuen, wie Sie möchten.
Sie müssen nur Ihren neuen Zweig mit dem vorgelagerten Zweig neu gründen. Sie können dies tun, indem Sie mit git branch -u origin/my_branch
einen Upstream-Zweig für Ihren neuen Zweig einrichten (vorausgesetzt, die von Ihnen hinzugefügte Fernbedienung heißt origin
und Sie befinden sich derzeit in Ihrem neuen Zweig) und dann git pull --rebase
ausführen, um die Basis neu zu erstellen Ihre Niederlassung. Danach können Sie Ihre neuen Commits zusätzlich zu Ihren vorhandenen Commits auf GitHub git push
.
Da Sie die Remote-URL bereits festgelegt haben, können Sie entweder einen neuen Zweig erstellen, um die Änderungen zu speichern, und ihn verschieben. Später können Sie die Zweige bei Bedarf zusammenführen. Oder Da Sie ein lokales Repository erstellt und die Remot-URL festgelegt haben, können Sie nach dem Festschreiben direkt in Ihr Repository pushen. Hoffe das hilft.
Neue Fragen
git
Git ist ein Open-Source-System zur verteilten Versionskontrolle (DVCS). Verwenden Sie dieses Tag für Fragen zur Verwendung von Git und zu Workflows. Verwenden Sie das [github] -Tag NICHT für Git-bezogene Probleme, nur weil ein Repository zufällig auf GitHub gehostet wird. Verwenden Sie dieses Tag auch nicht für allgemeine Programmierfragen, die zufällig ein Git-Repository betreffen.