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.
Antworten:
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.
quelle
... 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.
quelle
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.
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.
quelle
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
quelle
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.
quelle
Sie sind auf einem guten Weg
Das
version controlling
ist 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?
quelle