Clansuite Community Forum


 
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
 
Seiten: [1] 2   Nach unten
  Drucken  
Autor Thema: GIT  (Gelesen 1149 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


GIT
« am: November 28, 2011, 08:34:55 »

Zitat
Hi Jens,

hab gerade festgestellt das Github ja doch noch im Gegensatz zu SVN einen Nachteil mit bringt. Ich wollte Ursprünglich nur das Webinterface "Forken" und muss das ganze Repository mitnehmen. Hast du dazu evtl. eine lokale Lösung außer das Repository in ein anderes Verzeichnis zu legen als die Entwicklungsumgebung des Webinterfaces und dann per Batch-File einen Abgleich vorzunehmen..?

Grüße,
Tobias

Hallo Tobias,

es gibt da mittlerweile keinen großen Unterschied zwischen SVN und GIT im Hinblick auf das Auschecken einzelner Dateien und Verzeichnisse. Du "forkst" das Repository und setzt lokal die Repo-URL und checkst danach einfach nur ein Verzeichnis einer Branch (master oder besser develop) aus.
So kommst du zu einem Teil des Repositories;git fetch && git checkout HEAD /www.
Alternativer Weg führt über "GIT sparse checkout" - evtl. mal suchen.
Wobei ich hoffe, dass ich die Frage richtig verstanden habe.

Wozu ein Batch-Abgleich nötig ist, ist mir nicht so ganz klar geworden.
Du könntest im bereits installierten WPN-XM einfach in den Folder "www" wechseln und dort GIT initialisieren und das Repo festlegen, dann haste die Daten ja schon, kannst aber direkt Veränderungen in deinen Fork committen.

Gruß Jens
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #1 am: November 28, 2011, 09:13:28 »

Hi Jens,

war schon so gedacht das ich nur einen einzelnen Pfad aus dem Git bekomme, allerdings hab ich da nichts passendes in NetBeans gesehen wo ich noch den auszucheckenden anpassen könnte.

Die Batch erklärt sich im Checkout des Repos und der Syncronisation ins www/webinterface vom aktuelles Serverpack-Release.

Also, kurz. Ja, das war meine Frage Zwinkernd

Nachher TS? (in 15min)

grüße,
Tobias
Gespeichert
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #2 am: November 30, 2011, 07:26:34 »

langsam werdsch bekloppt... -.-

Netbeans RC1 hat nach GIT-Plugin nutzung ab und an ein Problem mit dem eigenen Cache und startet deswegen nicht - behoben | cache ordner löschen und alles wird gut.

GIT will partou nicht das richtige Verzeichnis ziehen, grundsätzlich nur master* -.-
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #3 am: November 30, 2011, 08:45:33 »

Schade, dass du deine Entwicklungsumgebung nur so schwer in den Griff bekommst.
Geh halt den Weg über master und batch... geht doch auch.

Ich werd heut noch eine "develop" Branch anlegen, in der die weitere Entwicklung dann stattfindet. Daher werd ich dich dann später nochmal bitten, entsprechend zu switchen.
Es kommen auch noch einige Änderungen im Bereich Webinterface und SCP.



Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #4 am: November 30, 2011, 09:47:06 »

Dann lass es uns doch etwas leichter gestallten...

Ich arbeite erstmal einfach ohne GIT bis die neue Branch steht und GIT die Funktion sauber unterstützt.

Der These nach soll es funktionieren die Master-Branch auszuchecken und dann nur einzelne dateien sammt .git ordner zu kopieren. Grundsätzlich erkennt NB dann zwar das dort ein GIT Repo liegt, aber ich bezweifel das der Pull gelaufen ist von vorhin.

Oder hast du ein Pull-Request bekommen..?

grüße,
tobias
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #5 am: November 30, 2011, 10:52:22 »

Nein, bislang kein PR in Sicht.
Ob Pull Requests für mich vorliegen, kannst du hier überprüfen: https://github.com/jakoch/WPN-XM/pulls

Zunächst müsste dafür aber ein Commit in deinen eigenen Fork vorliegen:
https://github.com/tobiasfichtner/WPN-XM

Du findest die neue "develop" Branch unter: https://github.com/jakoch/WPN-XM/tree/develop
Dein Repo bitte updaten und zum Wechseln auf die neue Branch: git checkout "develop".
Das Branching Model entspricht damit "gitflow": Features in "Feature"-Branches, die Hauptentwicklung in "develop" und Production bzw. Releases in "master".
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #6 am: Dezember 01, 2011, 04:10:43 »

ärgerlich, aber ich werd mir was ausdenken wie ich das "vernünftig" gelöst bekomme... wenns NB nicht kann muss ich eben was anderes nehmen mit mehr fähigkeiten... Hauptsache s geht demnächst damit was weiter geht.
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #7 am: Dezember 01, 2011, 11:03:58 »

Ich halte hier kurz noch deine Idee mit den Parametern für Starten und Stoppen der Daemons fest.
Bevor die Idee wieder verloren geht - also:

Es ging darum, aus dem Webinterface heraus Daemons starten und stoppen zu können.
Möglich wäre folgender Weg:
1. Button im Webinterface
2. ruft PHP Script auf
3. PHP exec() CMD ruft die WPN-XM-SCP.exe mit Parametern, bspw. "/shutdown nginx" auf
Möglich und direkter wäre die Arbeit mit den Daemons und ihren Parametern.

Richtig so?
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #8 am: Dezember 03, 2011, 08:33:10 »

völlig richtig...

und ich find es leichter mit dem systray zu arbeiten als mit der vollen parameter zeile jedes einzelnen daemons.

Etwas anderes, ich würde gern - sofern du die Zeit hast - mal mit dir in NB durch gehen wie du dein GIT darin verwaltest.

Ich bin zwar noch nebenbei am suchen im netz, aber so richtig will git bei mir lokal immer noch nicht. Hab auch inzwischen die develop-Branch genommen.

grüße,
Tobias
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #9 am: Dezember 04, 2011, 07:42:01 »

Etwas anderes, ich würde gern - sofern du die Zeit hast - mal mit dir in NB durch gehen wie du dein GIT darin verwaltest.

Also ich arbeite viel auf bzw. mit der GIT Bash, da ich damit schneller bin.
Um wiederkehrende Arbeitsabläufe zu erledigen, hab ich noch einige Mini-Scripts, wie bspw. gitflow am Start.

Der Arbeitsablauf ist immer gleich:
Beim ersten Mal: clone-checkout-pull-add-commit-push.
Jede weitere Änderung nur noch pull-add-commit-push.
add entfällt, wenn nur modifiziert wird: dann pull-commit-push.
Quasi wie bei SVN.

Das ändert sich auch nicht, wenn du Netbeans einsetzt.
Im Verzeichnisbaum bietet Netbeans die gleichen Features wie beispielsweise TortoiseGIT.
Recht-Klick auf File oder Folder und dann "Git" hovern und Kommando im Menü auswählen.

"File New Project" -> "PHP Application with Existing Sources"
Auf das ausgecheckte GIT Verzeichnis gehen.
Zusätzlich "Copy Files from Sources to another location" ankreuzen und
als Location den htdocs Folder vom Webserver angeben, also "/htdocs/wpn-xm".
Das bewirkt den automatischen Abgleich des unter Versionskontrolle stehenden Folders,
mit dem Webfolder. Änderungen erfolgen also im Verzeichnis unter Versionskontrolle und
wenn du "Play" drückst, wird der Webserver aufgerufen.
Danach nur noch Netbeans: Änderung, Speichern + Browser: F5.

Der Unterschied zu meinem Setup liegt also in der Dopplung der Daten, denn ich arbeite direkt im Webfolder, der unter Versionskontrolle steht.

Nicht aufgeben! Du bekommst das hin...

PS. Wenn du "File New Project" -> "PHP Application with Existing Sources" anlegst,
dann könntest du mal alle Einstellungen aufschreiben.
Könnte man als "How to contribute" Anleitung ins Wiki stellen.
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #10 am: Dezember 04, 2011, 11:40:41 »

Ok, fazit für mich... Wie mit SVN einfach ein externe Tool nehmen und sich nicht auf NB bestandteile verlassen... :/ ... hätte ich auch eher drauf kommen können...

dann mal noch schönen SO Abend, lesen uns die Tage wieder...
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #11 am: Dezember 05, 2011, 12:54:48 »

Du kannst mit Netbeans das Gleiche erreichen, wie mit den anderen Werkzeugen für GIT.

Welche Werkzeuge hast du im Einsatz? Wie sind sie konfiguriert? Wie setzt Du sie ein?

Hast Du weitere Fragen zur Verwendung von Git?
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #12 am: Dezember 05, 2011, 04:14:52 »

Ich nutze NB und das integrierte GIT. Aber der Pull will bei mir nicht, den Grundsätzlich läuft zumindest der Checkout des Git-Repos. Und mehr als NB und integriertes Git brauch ich ja eigentlich auch nicht.
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #13 am: Dezember 05, 2011, 06:23:28 »

Ich denke mal Du versuchst, meine letzten Änderungen zu "pullen" oder?

Das setzt zwei Schritte voraus:
1. Hast Du einen "git clone" Deines Forks?
2. Hast Du mein Repo als Remote "upstream" eingetragen, um auf Änderungen des Entwicklungszweigs zu aktualisieren? Weißt Du wie das geht?

Anleitung für Netbeans

Pull
Verzeichnisansicht -> Rechts-Klick
"Git->Remote->Pull"

Upstream Repo festlegen
Remote Configuration
"Specify Git Repository Location"
Repo Name: upstream
Repo URL: https://github.com/jakoch/WPN-XM.git

Anleitung für Command Line

Clonen
git clone git@github.com/tobiasfichtner/WPN-XM.git
Upstream Repo festlegen
git remote add upstream git://github.com/jakoch/WPN-XM.git
Änderungen aus meinem Repo reinholen (upstream auf master mergen)
git fetch upstream
git merge upstream/master
Eigene Änderungen
add->commit im loop
Pushen auf deinen Fork
git push origin master

Damit sollte der Pull laufen...

Falls Du mit "Pull" einen "Pull Request" meinst, dann setzt das zunächst Änderungen am Code in deinem Fork voraus. Über das Webinterface (https://github.com/jakoch/WPN-XM/pulls) kannst Du dann die Änderungen (Commits) auswählen bzw. bündeln und an mich schicken. Ich merge sie dann in meinem Repo in "develop".

Soviel zum Thema Pull und Pull Request.
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #14 am: Dezember 06, 2011, 12:19:37 »

Hi Jens,

beim Punkt zwei wird mir glaube gerade klar warum das nicht funktionieren konnte. Und unteranderem arbeitet NB Git mit einer lokalen Kopie des Repos die ich wohl auch erst in origin mergen muss bevor ich dann über denn upstream, der mir bisher fehlt, ein Pull (in mein Repo) verschicken kann.

Also werd ich mal noch weiter probieren.
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #15 am: Dezember 06, 2011, 02:15:53 »

Scheint so, als ob es langsam was wird...

Möglicherweise ist Dir auch diese Übersicht über die wesentlichen Kommandos eine Hilfe:
http://de.gitready.com/beginner/2009/01/21/pushing-and-pulling.html

Ich trag mal die Strukturierung meiner Antworten und Abfassung dieses Threads als Unterkapitel fürs Entwicklerhandbuch als neues Ticket ein. Denn unbekannte Dritte können das sicher noch gebrauchen. Wird bearbeiet unter http://trac.clansuite.com/ticket/257

Es gibt Änderungen am Webinterface. Ich habe es nun etwas zerpflückt und in ein typisches Header/Footer Modell gebracht. Neu ist das Menü. Außerdem redirected die Hauptseite automatisch nach einigen Sekunden auf das Interface. Des weiteren habe ich Pfadkonstanten eingeführt, zur einfacheren Verwendung bei Pfaden und Hrefs.
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #16 am: Dezember 11, 2011, 03:24:35 »

Zitat
Also werd ich mal noch weiter probieren.

Deine Repos sind noch auf dem Stand vom 29.Nov.
Wo hakt es? Fehlen noch Infos zum Umgang mit GIT?
Frag einfach...
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #17 am: Dezember 12, 2011, 11:51:50 »

Na siehste geht doch. Vielen Dank für den Pull Request! Zwinkernd

Kleiner Hinweis:
tobiasfichtner wants someone to merge 13 commits into jakoch:master from tobiasfichtner:develop
hier statt master, develop branch setzen. das müsstr im github interface angeboten werden.

quasi "You are asking to pull xy commits from tobiasfichtner:develop into jakoch:develop"
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
tobiasfichtner
Anfänger
**
Offline Offline

Beiträge: 43


« Antworten #18 am: Dezember 13, 2011, 08:33:16 »

wenn man nur mal genug zeit hat sich in git einzulesen versteht man auch irgendwann wie es geht... hab auch was sinnvolles zur performance gefunden, was glaube ich dann auch erstmal der einzige vorteil ist der sich mir erschließen will...

heute abend TS..? Ich hab momentan kein Überblick.. :/

grüße,
Tobias
Gespeichert
Jens-A. Koch
Maintainer
*
Offline Offline

Beiträge: 574

One-Man Team


« Antworten #19 am: Dezember 14, 2011, 03:46:25 »

Sorry, hab ich zu spät gelesen.
TS Session ist machbar. Ich werd heute Abend zw. 18-19h im TS-Chan sein.
Gespeichert

Keine Supportanfragen per PN oder Mail. Fragen bitte nur im Forum stellen (Wie man Fragen richtig stellt).
Seiten: [1] 2   Nach oben
  Drucken  
 
Gehe zu:  


Powered by SMF 1.1.16 | SMF © 2006-2009, Simple Machines

Google visited last this page Mai 08, 2012, 04:35:11