Hallo, kann jemand weiterhelfen? Seit kurzem arbeite ich an einem Projekt in GitLab mit. Ich habe meinen eigenen Branch, in dem ich arbeite. Bisher habe ich mir das Projekt manuell von der GitLab-Seite runtergeladen, an meinem Laptop lokal daran gearbeitet und dann die Dateien, die ich geändert habe, auf der GitLab-Seite ersetzt. Nun soll ich aber den Master-Branch in meinen Branch reinmergen, und das soll ich direkt im Terminal machen. Ich habe in den docs die Befehle gefunden, wie man über das Terminal das Projekt auf die Festplatte klont und habe auch den Master in meinen Branch reingemerget. Wenn ich dann aber in das geklonte Projekt reinschaue, sehe ich nur eine Version und keine verschiedenen Branches. Jetzt würde ich natürlich gerne so vorgehen, dass ich direkt in dem lokalen Git-Projekt arbeite, bin aber etwas ratlos, wie ich meinen Branch finde, um das so zu machen. Weiß jemand, wie das geht bzw. wo der Haken liegt? Kurze Anmerkung, habe bis jetzt leider so gut wie noch gar keine Erfahrung mit GitLab, da ich ziemlich unvermittelt in diesem Projekt gelandet bin. Bitte um Nachsicht, falls ich etwas nicht auf Anhieb verstehe.
Könntest du mal die Befehle (und deren Ausgaben) nennnen, die du genutzt hast? Dann kann man besser einschätzen was du genau gemacht hast, und wo es hackt.
Im Endeffekt wäre der Workflow ja: 1) SSH Key erstellen und bei gitlab hinzufügen 2) per git clone ssh://git@gitlab.com/REPO klonen 3) cd REPO 4) git fetch --all 5) git checkout DEIN_BRANCH 6) git merge Wenn ich dich richtig verstehe scheitert es bei 5)? Was sagt denn die Ausgabe von git branch?
Edit: 6) git merge master Und statt git branch bitte git branch --all
Vielen Dank für die schnelle Antwort! Ich habe mich daran orientiert: https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html Habe das Projekt via https geklont. cd REPO git checkout MY-BRANCH > Branch 'MY-BRANCH' folgt nun Remote-Branch 'MY-BRANCH' von 'origin'. > Zu neuem Branch 'MY-BRANCH' gewechselt git merge master Dann öffnet sich im Terminal eine Datei für eine Beschreibung. Ich speichere und schließe sie. Die Ausgabe ist: Merge made by the 'recursive' strategy. [Pfad zu einer Datei im Projekt] | 36 ++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertion(s), 1 deletion(s) Ich hätte erwartet, dass merge-Konflikte auftreten könnten, weil vermutlich in beiden Branches seperat weitergearbeitet wurde. Aber anscheinend war das nicht der Fall? Außerdem wüsste ich gerne, wie ich jetzt in dem lokalen Git-Projekt in meinem Branch weiterarbeite. Ich sehe dort nur eine Version des Projektes, weiß also nicht, wie ich an die Dateien komme, die zu meinem Branch gehören.
Gut, dann hat das ja alles funktioniert und es gabt keinerlei Konflikte die nicht aufgelöst werden konnten. Die Datei, die sich geöffnet hat, beinhaltet die Commit-Message. Der Merge wird als Commit gehandhabt. Gib mal git status ein, dort wird dir angezeigt auf welchem Branch du bist. Aktuell solltest du auf DEIN_BRANCH sein. Wechseln kannst du jederzeit per git checkout TARGET_BRANCH. Dein Dateisystem sieht immer nur den aktuell ausgewählten Branch, wechseln kannst du wie gesagt per git checkout. Für dich jetzt relevante Befehle (die von dir verlinkte Gitlab Seite finde ich eher unübersichtlich): git status -> Zeigt Branch und alle von dir geänderten Dateien git diff -> Änderungen aller Dateien seit dem letzten Commit git add DATEI -> Datei zu commit hinzufügen (staging) git commit -> alle Dateien in staging werden commitet. git push -> Lokale Commits hochladen git pull -> Neuste Änderungen vom Server runterladen
Ah, super, alles klar. Wird mir dann auch im Datei-Manager nur der Branch angezeigt, in dem ich mich gerade befinde? Ausgabe bei 'git status': >Auf Branch MY-BRANCH >Ihr Branch ist 3 Commits vor 'origin/MY-BRANCH'. > (benutzen Sie "git push", um lokale Commits zu publizieren) > >nichts zu committen, Arbeitsverzeichnis unverändert Vielen Dank für die Übersicht über die Befehle!
Jonas schrieb: > Ah, super, alles klar. Wird mir dann auch im Datei-Manager nur der > Branch angezeigt, in dem ich mich gerade befinde? Ja, genau. Bei Ändern des Branch werden die Dateien entsprechend ausgetauscht.
Im Dateimanager sehe ich nur den Branch, in dem ich mich gerade aktuell befinde. Wie kann ich diesen Branch dann in einer IDE bearbeiten? Ich habe eben das Projekt in Visual Studio Code geöffnet und hatte erstmal den Fehler "Unable to watch for file changes in this large workspace", deshalb vermute ich, dass dort alle Branches geladen werden, kann das sein??? ...bin etwas lost wie ich das hinkriege. Ich würde den Branch nämlich gerne in einer vernünftigen IDE statt im Texteditor bearbeiten.
Erstmal dein Problem hat nichts mit gitlab zu tun, sondern erscheint mir als fehlendes Grundwissen für den Umgang mit Git. Das auf der Anderen Seite ein Gitlab Server steht kannst du erstmal vernachlässigen. Ich empfehle Dir, Dich mit einen erfahrenden Kollegen hinzusetzen. Meiner Meinung nach hilft das ungemein, wenn man sich das tägliche tun in einer Art extreme Programming Session von einen Experten abguckt. Ein Buch könnte auch helfen die Grundlagen zu verstehen. das Git Buch von O'reilly, zum Beispiel soll ganz gut sein. mukel schrieb: > Im Endeffekt wäre der Workflow ja: > > 1) SSH Key erstellen und bei gitlab hinzufügen > 2) per git clone ssh://git@gitlab.com/REPO klonen > 3) cd REPO > 4) git fetch --all > 5) git checkout DEIN_BRANCH > 6) git merge Das ist der Workflow für dein Problem den branch zu mergen. Ich persönlich würde bei 4. statt des "git fetch" ein git pull machen. Was der Unterschied ist, lasse ich bewusst mal offen (damit du es Dir selbst erarbeitetest). Außerdem solltest du vielleicht noch einen Schritt anhängen, damit du einen Remote Branch hast, der auch auf den Gitlab Server liegt. 7.) git push -u origin DEIN_BRANCH Jonas schrieb: > Ich habe eben das Projekt in Visual Studio Code geöffnet und hatte > erstmal den Fehler "Unable to watch for file changes in this large > workspace", deshalb vermute ich, dass dort alle Branches geladen werden, > kann das sein??? Ich denke nicht das Git hier dein Problem ist? ich habe Kollegen welche wunderbar mit sehr Komplexen Gitprojekten und Visual Studio Code arbeiten. Ich denke eher du hast ein anderes Problem, mit deinen Projekt. ich persönlich nutze Aber VisualStudio nicht, von daher fällt es mir schwer dir zu helfen. Aber auch als bekennender Linux Benutzer, muss man neidlos anerkennen, das die Dokumentation für Entwickler von Mircosoft, mittlerweile mehr als Vorbildlich ist. Ich empfehle dir https://code.visualstudio.com/docs/editor/versioncontrol zu lesen und ein VisualStudio Code entsprechend einzurichten. Jonas schrieb: > ...bin etwas lost wie ich das hinkriege. Ich würde den Branch nämlich > gerne in einer vernünftigen IDE statt im Texteditor bearbeiten. Was eine vernünftige IDE, ist wurde schon in so vielen Flame Wars diskutiert, meine persönliche Präferenz ist, offensichtlich eine Komplett andere als deine.
Beitrag #6300318 wurde vom Autor gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.