OpenTX 2.2 Entwicklung

Status
Nicht offen für weitere Antworten.

rcbebo82

Erfahrener Benutzer
#1
Hallo,
ich hoffe mir kann hier jemand helfen.
Ich habe den Source Code in der OpenTX Version 2.2 angepasst damit die deutsche Sprachansage korrekt funktioniert. Dafür habe ich mir ein Ubuntu Linux aufgesetzt wie es auch im Development Guide beschrieben wird.

Nun habe ich aber meine Probleme mit Github. Ich verstehe einfach nicht so recht wie das funktioniert. Ich habe mir ein Fork des OpenTX Projekt in meinen Account gezogen und klone mir dieses nun lokal auf den Ubuntu Rechner. Dann habe ich die entsprechenden Dateien angepasst. Um meine Änderungen zu verifizieren habe ich dann das Projekt erstellt und kann auch erfolgreich alles mit dem Simulator (Horus) testen.
Auch die Firmware habe ich erstelle und auf meine Horus installiert, es klappt alles wie gewünscht.

Nun steht ich vor dem Problem nicht so recht zu wissen wie ich das alles wieder in meinen Fork übernehme um einen Pull Request auf das Original vorzunehmen. Ich bin einfach mit den ganzen Github Befehlen überfordert.
Vlt. gibt es ja jemand hier der kurz und knapp erklären kann wie man da am besten vorgeht.

LG
Bebo
 

SteffenE

Neuer Benutzer
#2
Ui, das ist auch so eine Sache für sich, da git seeehr mächtig ist.
Ich bin damit auch noch immer mächtig auf Kriegsfuss.

ein simpler push auf deinen fork wäre:

Code:
#einchecken in das lokale repository
git commit 
 
#push in meinen fork bei github
git push
persönlich empfehle ich aber für die Änderung auch einen eigenen branch zu machen, den man zu pull request anbietet:
Code:
git checkout next 
git checkout -b mein_neuer_branch 
git push origin mein_neuer_branch # lokalen branch in das github repository
# die Änderungen machen
git commit
git push
dann noch auf der github-Seite einen pullrequest zwischen next und mein_neuer_branch auslösen.

ich habe noch die wichtigsten Schritte gesammelt, aber gerade nicht hier zur Hand.
 

rcbebo82

Erfahrener Benutzer
#3
Hallo Steffen,
erstmal danke für die Antwort, da bin ich also nicht allein mit dem Github. Grundsätzlich verstehe ich schon wie Github funktioniert aber es ist als Einsteiger extrem umfangreich.
Grund das ich das überhaupt benutzen muss ist ja quasi nur die Tatsache das meine Änderungen an zwei Dateien stattfinden. Eine Datei kann man ja bequem auf der Github Seite editieren und als Pull Request einstellen.
Aber hier mal die Liste meiner Befehle die ich verwendet habe:

#Clone meines Github Forks auf meine lokale Festplatte schreiben:
git clone https://github.com/rcbebo82/opentx.git

#Upstream Repository auf OpenTX stellen
git remote add upstream https://github.com/opentx/opentx.git

#Lokales Repository mit dem OpenTX Repository abgleichen
git fetch upstream

#Next Branch auswählen (Aus meinem Repository)
git checkout origin/next

#Änderungen aus OpenTX Next Branch in mein lokales Repository spielen
git merge upstream/next

#Jetzt pflege ich meine Änderungen ein und mache dannach
git commit - "Meine Änderungen blabla"
git push

Nun würde ich erwarten das dieser Commit auf der Github Seite auftaucht, tut er aber nicht!
 

SteffenE

Neuer Benutzer
#4
Sieht alles eigentlich richtig aus...

ich mache immer einen eigenen branch, den ich dan per push origin zu github bringen muss.
ich weiss nicht, ob git checkout origin/next einen lokalen branch erzeugt. ich würde git checkout next benutzen.

mir wurde übrigens empfohlen statt merge ein rebase zu machen.

ich schaue mir das nachher mal an...
 

rcbebo82

Erfahrener Benutzer
#5
Hi SteffenE,
ich habe gerade nochmal im Wiki der OpenTX Seite gestöbert dort steht:

Code:
Git Clients.

[COLOR="#FF0000"]The git command line interface is a complete mess[/COLOR]. Nothing like the logical subversion svn commands. Using a graphical client is a must.
 Good client alternatives are SmartGit/Hg on Linux/Windows and SourceTree on Windows/OSX.
If you are working on Windows and is used to Tortoise for Subversion, you will probably want to use Tortoise-Git.
Scheint also bekannt zu sein das das eine Katastrophe ist. Ich habe mir nur mal den empfohlenen SmartGit Client installiert.
 

SteffenE

Neuer Benutzer
#7
Scheint also bekannt zu sein das das eine Katastrophe ist. Ich habe mir nur mal den empfohlenen SmartGit Client installiert.
Naja, das würde ich so nicht sagen.
Es ist in einigen Belangen erheblich mächtiger als subversion und das macht die Anwendung halt leider komplzierter.

Leider habe ich halt nur noch immer keine guten Hinweise für best ways to use gefunden.
zB was bedeutet merge vs. rebase.

ich habe jedenfalls genau deine anwendung schon benutzt, aber es war halt immer mit checkout master und nicht mit checkout origin/master.

Gruß,

Steffen
 

SteffenE

Neuer Benutzer
#8
Moin,

habe es mal getestet. Du hast mit checkout origin/next einen detached head state verwendet. Damit ist das wohl ein lokaler branch und nicht mehr der im github.

Mit
git checkout next
# ändern
git commit -a
git push

landen die Sachen eindeutig in github...
 

rcbebo82

Erfahrener Benutzer
#9
Ja der "Commit" war das Problem, das habe ich dann auch im SmartGit Client realisiert. Bleibe aber nun bei dem Client. Ist einfach sexy direkt angezeigt zu bekommen welche Dateien sich verändert haben, direkt mit Code Stellen!
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten