Was ist die grundlegendste und einfachste Plattform für die gemeinsame Entwicklung (PHP-Projekt)? [geschlossen]

14

Ich muss mit 4-5 Programmierern an einer ziemlich durchschnittlichen PHP-Anwendung mit Codeigniter arbeiten. Wir sind an 5 verschiedenen Standorten in einer Stadt und alle Programmierer sind nicht gut ausgebildet. Ich gehe davon aus, dass die meisten von ihnen noch nie ein Versionskontrollsystem verwendet haben.

Können Sie eine sehr einfach zu erreichende Plattform für die Zusammenarbeit an einem Projekt wie diesem empfehlen? Ich spreche von etwas, das nur ein bisschen ausgefeilter ist als ein freigegebener Dropbox-Ordner.

Esuus
quelle
Sie haben github als Tag verwendet. Github ist sehr nett - hast du das Geld für ein privates Repo?
Ich empfehle SourceAnywhere Hosted. Es ist sehr intuitiv, das Produkt zu verwenden. Wenn Sie nach Versionskontrolle suchen, finden Sie viele gute Vorschläge / Tools. Wenn Sie nicht nur das Produkt selbst, sondern auch die Lernkurve verkürzen möchten, denken Sie bei der Produktauswahl an den "guten Kundenservice". Weil dies bedeutet, dass Sie eine gute Schulung und technischen Support vom Unternehmen erhalten.
Windy

Antworten:

12

Sie kennen die Antwort bereits

Die Versionskontrolle wurde entwickelt, um genau dieses Problem zu lösen . Wenn Ihre Entwickler nicht bereit sind, diese Standardentwicklungspraxis anzuwenden, müssen Sie Ihre Entwickler möglicherweise neu überdenken. Welche Art von Software werden sie produzieren, wenn sie eine Abneigung gegen die üblichen Praktiken sowie eine Abneigung gegen das Erlernen neuer Dinge zeigen?

Ich würde vorschlagen, dass sie Pro Git lesen und ein privates Git-Repository für Ihr Team einrichten.

Craige
quelle
2
Ich habe weder die Möglichkeit, andere Entwickler auszuwählen, noch ihnen die Versionskontrolle beizubringen. Vertrau mir, ich würde beides vorziehen. Aber ich kann nicht - das ist der Grund, warum ich diese Frage gestellt habe. Es gibt viele Amateur-Entwickler, was verwenden sie?
Esuus
6
Sie lernen die richtigen Werkzeuge oder bleiben für immer Junioren.
Adrian Schneider
2
@Esuus Das Erlernen von git dauert nicht lange: try.github.com/levels/1/challenges/1
VirtuosiMedia
3
@VirtuosMedia Ich denke nicht, dass Git genau einfach ist, SVN ist viel einfacher zu verstehen.
Matěj Zábský
1
Ich kenne Git nicht, aber TortoiseSVN macht es unerfahrenen Benutzern wirklich leicht, mit SVN umzugehen.
Brian
4

... FTP

Ok, das ist die Art und Weise, wie ich angefangen habe zusammenzuarbeiten, Notepad ++ an FTP anzuschließen, Mist alle 10 Minuten in umbenannten Ordnern zu sichern.

Eine Online-IDE

Cloud9 ist sehr gut und kann gleichzeitig bearbeitet werden. Es kostet Sie jedoch mehr als einen privaten Arbeitsbereich, um mit Ihrem Team zusammenzuarbeiten, aber es lohnt sich.

... versuche Mercurial

Wenn Ihre Mitarbeiter nicht in der Lage sind, Git anzusprechen, probieren Sie Mercurial mit TortoiseHG, einem GUI-Client für Mercurial. Die Einrichtung dauert zwei Minuten und die Verwendung dauert weniger.

Wenn sie die GUI verwenden, müssen sie nur lernen, 4 Schaltflächen (Ziehen, Aktualisieren, Festschreiben, Drücken) zu verwenden und 2 oder 3 Konzepte zu lernen, um ihre Arbeit zu speichern und zu teilen.

Lassen Sie sie sich in bitbucket registrieren . Erstellen Sie ein Repository für Ihr Projekt, und lassen Sie es von den Teilnehmern teilen, damit sie in ihrem eigenen Spiegel des Repositorys arbeiten und sich nicht mit dem Zusammenführen befassen müssen. Sie führen die Integration durch und fordern sie auf, Pull-Anfragen von ihrer Bitbucket-Gabel aus zu stellen, sobald sie gedrückt haben. Lassen Sie sie nur aus Ihrem Repository ziehen (dem Repository, aus dem sie gespalten wurden).

Lernen Sie Mercurial selbst, damit Sie alle damit verbundenen Probleme lösen können. Dies ist ein guter Anfang: http://hginit.com/

Probieren Sie beides aus

Sie können Mercurial von Cloud9 verwenden, wie cool ist das ?.

Hör auf anzunehmen

Wenn Sie die richtigen Werkzeuge verwenden möchten, haben Sie bereits eine Führungsposition inne. Gehen Sie nicht davon aus, dass sie nicht ausgebildet sind, und sprechen Sie mit ihnen darüber, wie die Dinge in der realen Welt gemacht werden.

Sei begeistert und nicht bevormundend.

Einfacher geht es nicht, wenn Sie es richtig machen wollen. Wenn sie die Versionskontrolle ausdrücklich nicht verwenden möchten, liegt möglicherweise ein anderes ernstes Problem vor.

dukeofgaming
quelle
Ich denke, dies ist die beste Antwort, da dies die einzige ist, die die Frage tatsächlich beantwortet, anstatt den Fragesteller zu bevormunden. Ich schätze besonders die Tipps, wie man den Menschen Mercurial leichter machen kann (Verschmelzung und Integration aus den Händen nehmen). Dies scheint die einfachste Möglichkeit zu sein, die Versionskontrolle durchzuführen, wenn die Teilnehmer zögern, daran teilzunehmen. Vielen Dank!
Dallas
3

Ich empfehle Ihre Entwickler zu http://try.github.com

Aber wenn keine Versionskontrolle möglich ist, können Sie sich an etwas halten, das für den Anfänger / Junior geeignet ist und einfach (und archaisch) ist.

  1. die APP + DB auf dem Entwicklungsserver
  2. Jeder, der die ganze Zeit am selben Messenger arbeitet, kann sprechen und wissen, wer gerade arbeitet
  3. Jeder bearbeitet live auf dem DEV-Server über einfaches altes FTP
  4. Erzwingen Sie die Teamregeln für die Aktualisierung eines Änderungsprotokolls mit ihren Überarbeitungen und machen Sie Code-Kommentare entscheidend

Das Setup für den Webordner Ihres Entwicklungsservers könnte auch "svn checkout" (oder "git") lauten. Sie können die crontab so einrichten, dass von Zeit zu Zeit automatisch Revisionen festgeschrieben werden Sie überschreiben sich gegenseitig die Dateien (wie es passieren wird) und Sie müssen Bob die Änderungen geben, die er verloren hat. Nachdem sie einige Monate mit dem System gearbeitet haben, werden sie Sie eventuell bitten, ihnen svn / git-Zugriff zu gewähren.

Anthony Hatzopoulos
quelle
Auch wenn alle Antworten hier hilfreich waren (und deswegen überlege ich mir jetzt ernsthaft, ob es eine Möglichkeit gibt, sie dazu zu bringen, GIT / SVN zu lernen), bist du der einzige, der meine Frage tatsächlich beantwortet hat. Danke, Mann.
Esuus
2

Ich gehe davon aus, dass die meisten von ihnen noch nie ein Versionskontrollsystem verwendet haben.

Sie müssen diese Annahme korrigieren und herausfinden, ob sie Kenntnisse oder Erfahrungen mit Versionskontrollsystemen haben oder nicht. Es macht keinen Sinn anzunehmen, wann sie Wissen haben könnten.

Wie andere Antworten bereits sagten, ist dies das Ziel der Versionskontrolle. Git ist wahrscheinlich der beste Weg, und Git lernen ist ein wirklich guter Ausgangspunkt

Amy
quelle
2

Nun, es gibt keinen Ausweg, als die Versionskontrolle zu verwenden .

Dropbox hat eine Art Versionskontrolle , aber ich glaube, wenn zwei Personen eine Datei speichern, ersetzt die neuere Version nur die ältere Version, was für die Versionskontrolle während der Softwareentwicklung nicht wünschenswert ist.

Svn ist ein leicht zu erlernendes (zumindest einfacher als Git) Versionskontrollsystem, und Sie können verschiedene öffentliche Repositorys finden, die online gehostet werden. Ich würde es jedoch nicht für geografisch verteilte Teams empfehlen.

Der Weg für verteilte Teams ist also git. Wenn es kein Problem ist, Ihre Quelle öffentlich zu haben ODER einen privaten Plan zu kaufen , erstellen Sie ein Repository auf github , andernfalls richten Sie ein lokales Git-Repository ein.

Möglicherweise finden Sie eine GUI für git, die es diesen Entwicklern möglicherweise erleichtert, ein Versionskontrollsystem konzeptionell zu verstehen. Für Windows ist es TortoiseGIT . Ich habe keinen Git-GUI-Client für Linux oder MAC verwendet, daher werde ich hier keinen empfehlen.

Ozair Kafray
quelle
Dropbox hat einen Vorteil: Sie können Benutzer dazu bringen, die in ihrem Leben noch nie ein Versionsverwaltungssystem verwendet haben. Dies kann ein großer Vorteil bei der Arbeit mit Wissenschaftsprofessoren sein…
Donal Fellows
GitHub verfügt auch über private Repositorys, wenn Sie Ihren Code nicht öffentlich machen möchten.
VirtuosiMedia
@VirtuosiMedia Ja, das weiß ich, aber ich bin nicht sicher, ob sie frei sind.
Ozair Kafray,
@OzairKafray Sie sind nicht frei, aber sie sind ziemlich billig. Der kleinste Plan bietet Ihnen 5 private Repositories für 7 USD pro Monat sowie eine unbegrenzte Anzahl an öffentlichen Repositories.
VirtuosiMedia
2

Sie sind auf einem guten Weg

Das version controllingist der richtige Weg! Es wird gut dazu dienen, Code-Sharing zusammenzuarbeiten und bei der Integration zu helfen. Darüber hinaus sind häufige Eincheckvorgänge eine sehr wichtige Disziplin, die jedes Team zum Üben benötigt.

Die Auswahl der richtigen Versionskontrolle für Ihr Projekt ist jedoch sehr wichtig.

In letzter Zeit gibt es einen schönen Beitrag und Antworten, die Ihnen bei der Entscheidung helfen sollen: Was ist ein gutes Spielzeugbeispiel, um Versionskontrolle zu lehren?

Yusubov
quelle