ubuntuusers.de

o[git] lokales Repo in frisches GitHub-Repo überführen

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

MoonKid

Anmeldungsdatum:
9. Februar 2012

Beiträge: 1379

Scheinbar ist es nicht so einfach, wie ich mir das vorgestellt habe. Und die vielen Tips aus dem Netz sind exterm verwirrend und voller Begriffe, die ich nicht verstehe. Da werd ich nicht schlau draus.

Ich habe lokal ein git-Rep das mehrere Wochen alt ist und diverse commits drin hat. Das will ich alles so behalten.

Jetzt wollte ich das aber auf GitHub haben. Also hab ich dort ein frisches leers Repo angelegt und auf meiner lokalen Maschine geklont. Nun dachte ich, jetzt kann ich da einfach das erste Repo rein-mergen. Geht aber nicht.

Wie bekomme ich nun mein lokales Repo auf GitHub?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

Einfach das neue (leere) Repo als remote hinzufügen und dort hin pushen - siehe https://help.github.com/articles/adding-a-remote/ oder auch das Git-Handbuch: https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes

MoonKid

(Themenstarter)

Anmeldungsdatum:
9. Februar 2012

Beiträge: 1379

Genau solche Erklärungen und Links wollte ich vermeiden. Fachwörter ohne Erklärung und Befehlsketten ohne Erklärung.

Ja, es funktioniert jetzt scheinbar, aber ohne wirklich zu wissen warum - das ist das traurige daran.

Mit würde ein Hintergrundtext zu diesem Thema interessieren, ohne ein 500 Seiten überteuertes git-Buch zu lesen, dass ich danach sowieso wieder vergesse, weil ich die 1000 Szenarien darin in der Praxis nie anwende. Was habe ich da gerade gemacht? 😉

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

MoonKid schrieb:

Genau solche Erklärungen und Links wollte ich vermeiden. Fachwörter ohne Erklärung und Befehlsketten ohne Erklärung.

Tut mir leid, aber wenn du daran scheiterst, dann fehlen dir grundlegende Techniken fürs Selbststudium. Unklare Begriffe liest man selbstständig nach. Wenn Befehlsketten unklar sind, liest man das Handbuch des Programms, die Kommentare und den Text. Und falls es am Verständnis der englischen Sprache scheitern sollte, muss man sich fragen, ob es sich nicht lohnt ordentliche Grundlagen fürs weitere Leben zu legen.

MoonKid schrieb:

Mit würde ein Hintergrundtext zu diesem Thema interessieren, ohne ein 500 Seiten überteuertes git-Buch zu lesen, dass ich danach sowieso wieder vergesse, weil ich die 1000 Szenarien darin in der Praxis nie anwende.

Pro Git behandelt die Funktionsweise, die Grundlagen der Bedienung und erklärt ein paar grundlegende Workflows. Mehr als kostenlos in mehreren Formaten (epub, mobi, PDF, HTML) verfügbar kann man doch kaum wollen... - die ältere Version von 2009 gibt es auch auf Deutsch: https://git-scm.com/book/de/v1

Was habe ich da gerade gemacht? 😉

Mit "git remote add [remote_name] [URL]" hast du Git gesagt, dass es ein remote gibt (also ein nicht-lokales, externes Git Repository), mit dem du Änderungen austauschen können willst.

Wenn du Git effektiv nutzen willst, solltest du seine Funktion verstehen - und das geht am besten, wenn du dir auch mal die Kapitel davor angesehen hast, die erklären, wie Git die Commits verwaltet und der Abgleich zwischen mehreren Git-Repositories funktioniert.

MoonKid

(Themenstarter)

Anmeldungsdatum:
9. Februar 2012

Beiträge: 1379

seahawk1986>

Unklare Begriffe liest man selbstständig nach. Wenn Befehlsketten unklar sind, liest man das Handbuch des Programms, die Kommentare und den Text.

Hab ich bereits Dutzende Male getan. Bei git bleibt aber nie viel davon hängen und so muss ich jedes Mal neu nachlesen, weil die Bedienung nicht gerade sehr eingängig - die GUIs hinken hier gewohnheitsgemäß weit hinterher und sind nicht in der Lage die Workflows intelligent abzubilden. Ist bei Git auch eine Herausfoderung!

Git selbst habe ich begriffen. Dezentrale und (technisch) gleichberechtigte Repos usw und was das für den Workflow und die Hirarchie eines Teams bedeutet. Großartig! Diese Flexibilität und Mächtigkeit macht es aber auch schwieriger durchschaubar. Gleichzeitig sind Hilfeseiten im Netz kaum zu gebrauchen, weil sie oft alle Möglichkeiten abdecken wollen und damit oft (mich) verwirren.

Danke für die Erklärung - hilft. 😉

Aber scheinbar hab ich noch was nicht begriffe. Warum konnte ich nicht mergen? Mein eigenes lokales Repo und mein geklontes GitRepo konnte ich nicht mergen. Es wäre nix da zum mergen, meinte git. So wie ich git verstehe, müsste das eigentlich gehen.

git clone https://github.com/user/repo.git
cd repo
git merge ../mylocal_repo

unbuntuS12

Anmeldungsdatum:
2. Juni 2010

Beiträge: 1816

seahawk1986 schrieb:

MoonKid schrieb:

Genau solche Erklärungen und Links wollte ich vermeiden. Fachwörter ohne Erklärung und Befehlsketten ohne Erklärung.

Tut mir leid, aber wenn du daran scheiterst, dann fehlen dir grundlegende Techniken fürs Selbststudium. Unklare Begriffe liest man selbstständig nach. Wenn Befehlsketten unklar sind, liest man das Handbuch des Programms, die Kommentare und den Text. Und falls es am Verständnis der englischen Sprache scheitern sollte, muss man sich fragen, ob es sich nicht lohnt ordentliche Grundlagen fürs weitere Leben zu legen.

Na ja, im Umkehrschluss kann man dann sagen, dass fragen dann grundsätzlich unnötig ist, weil die Informationen irgendwo vorhanden sind. 🙄

MoonKid schrieb:

Aber scheinbar hab ich noch was nicht begriffe. Warum konnte ich nicht mergen? Mein eigenes lokales Repo und mein geklontes GitRepo konnte ich nicht mergen. Es wäre nix da zum mergen, meinte git. So wie ich git verstehe, müsste das eigentlich gehen.

git clone https://github.com/user/repo.git
cd repo
git merge ../mylocal_repo

Das kommt, weil du keine Repsositories mergen kannst, sondern nur Entwicklungszweige. Ein Repository ist aber kein Entwicklungszweig, sondern das sind erstmal nur Dateien im Dateisystem, die überhaupt nicht in einer für git zu verarbeitenden Datenstruktur vorliegen.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

MoonKid schrieb:

Aber scheinbar hab ich noch was nicht begriffe. Warum konnte ich nicht mergen? Mein eigenes lokales Repo und mein geklontes GitRepo konnte ich nicht mergen. Es wäre nix da zum mergen, meinte git. So wie ich git verstehe, müsste das eigentlich gehen.

git clone https://github.com/user/repo.git
cd repo
git merge ../mylocal_repo

Das ist halt nicht der vorgesehene Weg, merge ist für branches, nicht für andere Repositories - dafür nimmt man git pull (vgl. https://stackoverflow.com/questions/1651985/git-merge-with-repository-on-local-filesystem):

git pull ../mylocal_repo master

unbuntuS12 schrieb:

seahawk1986 schrieb: Na ja, im Umkehrschluss kann man dann sagen, dass fragen dann grundsätzlich unnötig ist, weil die Informationen irgendwo vorhanden sind. 🙄

Wissen ist, wenn man weiß, wo man nachsehen muss - und da kann man ja oft leicht Abhilfe schaffen... 😈

MoonKid

(Themenstarter)

Anmeldungsdatum:
9. Februar 2012

Beiträge: 1379

Danke nochmal fürs Erklären.

Das waren genau die nötigen Hintergrundinfos. Hätte ich die in einem Buch gelesen, hätte ich sie wieder vergessen, weil zum Zeitpunkt des Lesens Mangels Anwendungsfall irrelevant und zu selten sind.

Aber jetzt hab ichs mir gemerkt - die konzeptuelle Unterscheidung von merge und pull/push.

Antworten |