Git branch wechseln

Ich habe mal wieder ein problem mit git und bekomme es nicht gelöst.

Wenn ich „git pull“ eingebe, dann bekomme ich"Already up-to-date.", wenn ich „git branch -a“ eingebe dann bekomme ich * master remotes/origin/2014.3.x remotes/origin/2014.4.x remotes/origin/HEAD -> origin/master remotes/origin/babel remotes/origin/c-respondd remotes/origin/master remotes/origin/mesh_interfaces remotes/origin/mr12-62 remotes/origin/next-node-deprecated remotes/origin/radv-priorityd remotes/origin/rn-v2015.2 remotes/origin/single-as-lan remotes/origin/site.json remotes/origin/status-page-load remotes/origin/v2015.1.x remotes/origin/v2016.1.x remotes/origin/v2016.1.x-mac80211-test

Ich möchte gerne auf die aktuelle Gluonversion, auf die v2016.1.5 wechseln, wer kann mir da sagen was ich machen muss. Ich habe diverse Kombinationen von git checkout und git branch ausprobiert, aber irgendwie komme ich nicht weiter, was auch immer ich mache, ich kann dann kein „git pull“ machen ohne seltsame Meldungen.

Ein „git checkout v2016.1.5“ gibt mir [code]M contrib/sign.sh
Note: checking out ‚v2016.1.5‘.

You are in ‚detached HEAD‘ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b new_branch_name

HEAD ist jetzt bei 6899e50… ar71xx-generic: Use eth0 as OpenMesh primary mac address[/code]

Da komme ich dann nicht weiter, denn wenn ich dann „git pull“ eingebe, dann kommt nur

You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

    git pull <remote> <branch>

Falls mir da jemand weiterhelfen kann wäre ich dankbar. Falls jemand hier ein brauchbare Anleitung hat oder eine Erklärung die mich weiterbringt freue ich mich auch.

Hi, v2016.1.5 ist ein Tag, kein Branch.

Ein Tag ist ein fester Punkt in der Entwicklungsgeschichte (Ein Commit mit einem Namen.) Den kann man natürlich nicht „aktualisieren“ (ist halt ein fester Punkt in der Geschichte, da ändert sich nichts mehr).

Ein Branch hingegen ist ein Zweig der Entwicklungsgeschichte, der eine Kette von Commits von der Vergangenheit in die Gegenwart darstellt, auf den später ggf. nochmal was drauf kommt. Den kann man mit Pull aktualisieren, um die Änderungen, die auf den Branch draufkamen herunterzuladen.
Die Tags sind dann auch Teile eines Branch.

Wenn du also neue Commits haben willst, musst du den Entwicklungsbranch v2016.1.x auschecken:
git checkout v2016.1.x; git pull

Wenn du das Tag bereits heruntergeladen hast (hast du anscheinend), kannst du einfach das Tag auschecken, und damit arbeiten:
git checkout v2016.1.5; make update; ...

1 Like

Ist in diesem Fall der Tag, also „v2016.1.5“ eine gute Wahl? Ich möchte eine neue stabile Version bauen, aktuell laufen die Knoten bei uns mit einer Version von vor ein paar Monaten. :frowning:

Dann kannst du wahrscheinlich besser v2016.1.x auschecken. Wenn du das Tag auscheckst, hättest du ja die Fixes, Backports etc. bis heute nicht mit drin.

Ja, habe ich mir nach meiner Frage auch gedacht und das dann getan. Jetzt bekomme ich Fehler bei „make update“, ich weiß leider nicht warum und versuche gerade rauszufinden was das Problem ist.

V=s dazu setzen, dann bekommst du mehr Output :wink:

ach zu lange her, ja da war was, man sollte sich das alles aufschreiben. :frowning:

Für’s Münsterland habe ich hier eine Kurzanleitung verfasst. Die lässt sich aber für alle Communities, die Gluon nutzen, einfach adaptieren, ist ja nur die Site anders.

1 Like

Die Anleitung ist super, bei dem V=s ist übrigens noch wichtig zu wissen, dass das das Bauen ausbremsen kann, da die Ausgabe auf die Konsole nicht schnell genug gehen kann, deswegen sollte man das nur für die Diagnose nutzen. Ich glaube das hat der @PetaByteBoy mir mal erklärt, kann aber auch wer anderes gewesen sein.

Ich habe eine grobe Idee was das Problem ist, aber ich bin nicht sicher wie ich da weiter vorankomme. Ich habe mal ein make dirclean versucht, aber auch da hilft nicht.

Ich bekomme bei dem Befehl cd ~/gluon/ && git pull && make update V=s && make clean GLUON_TARGET=ar71xx-generic && make -j8 GLUON_TARGET=ar71xx-generic folgende Ausgabe [code]Already up-to-date.
/home/gluon/gluon/scripts/update.sh
— Updating module ‚openwrt‘ —
Reinitialized existing Git repository in /home/gluon/gluon/openwrt/.git/
— Updating module ‚packages/openwrt‘ —
Reinitialized existing Git repository in /home/gluon/gluon/packages/openwrt/.git/
From git://github.com/openwrt/packages

  • branch for-15.05 -> FETCH_HEAD
    Makefile:29: die Regel für Ziel „update“ scheiterte
    make: *** [update] Fehler 128[/code]
    wobei die erste Zeil da wohl den „git pull“ betrifft.

Als weitere Informationen kann ich noch liefern, dass „git branch -a“ mir [code] master

  • v2016.1.x
    remotes/origin/2014.3.x
    remotes/origin/2014.4.x
    remotes/origin/HEAD -> origin/master
    remotes/origin/babel
    remotes/origin/c-respondd
    remotes/origin/master
    remotes/origin/mesh_interfaces
    remotes/origin/mr12-62
    remotes/origin/next-node-deprecated
    remotes/origin/radv-filterd
    remotes/origin/radv-priorityd
    remotes/origin/respondd-dynamic
    remotes/origin/rn-v2015.2
    remotes/origin/single-as-lan
    remotes/origin/site.json
    remotes/origin/status-page-load
    remotes/origin/v2015.1.x
    remotes/origin/v2016.1.x
    remotes/origin/v2016.1.x-mac80211-test[/code] liefert, was ich erwarte.

Ich denke es hat irgendwas mit den modules zu tun, aber hier hört es jetzt auch auf. Was ich jetzt tun werde, ich werde nochmal das Verzeichnis löschen und neu git clone machen. Vielleicht löst das mein Problem, sonst muss ich mir noch eingehender die site.conf und die site.mk anschauen.

Melde mich gleich ob das hilft.

1 Like

Ich habe es befürchtet, jetzt baut es, bin gespannt ob es durchläuft, ich baue auf einer langsamen Maschine, deswegen wird es ein wenig dauern.

Danke für die Hilfe bis hier.