Muszę pracować z 4-5 programistami na dość przeciętnej aplikacji PHP używającej Codeigniter. Znajdujemy się w 5 różnych lokalizacjach w jednym mieście, a wszyscy programiści nie są zbyt dobrze wykształceni i zakładam, że większość z nich nigdy nie korzystała z żadnego systemu kontroli wersji.
Czy możesz polecić jakąś bardzo łatwą do zdobycia platformę do współpracy przy takim projekcie? Mówię o czymś, co jest tylko odrobinę bardziej wyrafinowane niż udostępniony folder Dropbox.
Odpowiedzi:
Znasz już odpowiedź
Kontrola wersji została zaprojektowana, aby rozwiązać dokładnie ten problem . Jeśli programiści nie chcą nauczyć się korzystać z tej standardowej praktyki programistycznej, konieczne może być ponowne rozważenie ich. Jakiego oprogramowania zamierzają zrezygnować, jeśli wykażą niechęć do standardowych przyjętych praktyk, a także niechęć do uczenia się nowych rzeczy?
Sugeruję, aby przeczytali Pro Git i utworzyli prywatne repozytorium git dla twojego zespołu.
źródło
... FTP
Ok, w ten sposób zacząłem współpracować, podłączając Notepad ++ do FTP, tworząc kopie zapasowe co 10 minut w folderach o zmienionych nazwach, naprawdę wciągane, jeśli to zrobisz, ze względu na swój projekt przynajmniej użyj kontroli wersji na serwerze.
Internetowe IDE
Cloud9 jest bardzo fajny i ma równoległą edycję, jednak będzie kosztować posiadanie więcej niż 1 prywatnego obszaru roboczego do pracy ze swoim zespołem, ale warto.
... spróbuj Mercurial
Jeśli nie uważasz, że Git jest wystarczająco dostępny dla twoich współpracowników, wypróbuj Mercurial z TortoiseHG, który jest klientem GUI dla Mercurial. Konfiguracja zajmie im dwie minuty, a rozpoczęcie korzystania z niego będzie krótsze.
Niech używają GUI, muszą tylko nauczyć się korzystać z 4 przycisków (ciągnij, aktualizuj, zatwierdzaj, pchaj) i naucz się 2 lub 3 pojęć, aby zapisać i udostępnić swoją pracę.
Niech się zarejestrują w bitbucket . Utwórz repozytorium dla swojego projektu i poproś go o rozwidlenie, aby mogli pracować we własnym lustrze repozytorium, dzięki czemu nie będą musieli się łączyć. Wykonujesz integrację i po prostu poprosisz ich o wysyłanie żądań ściągania z ich widelca Bitbucket po ich wypchnięciu. Niech wyciągają tylko z repozytorium (z którego rozwidlili).
Naucz się Mercurial samodzielnie, aby móc rozwiązać wszystkie powiązane problemy, to dobry początek: http://hginit.com/
Spróbuj obu
Możesz używać Mercurial z Cloud9, jakie to fajne ?.
Przestańcie zakładać
Jeśli chcesz korzystać z odpowiednich narzędzi, już jesteś na pozycji lidera. Nie zakładaj, że nie są wykształceni i porozmawiaj z nimi o tym, jak się robi w prawdziwym świecie.
Bądź entuzjastycznie nastawiony i nie protekcjonalny.
To naprawdę nie jest łatwiejsze, jeśli chcesz robić rzeczy dobrze. Jeśli wyraźnie nie chcą używać kontroli wersji, możesz mieć inny poważniejszy problem.
źródło
Polecam programistom http://try.github.com
Ale jeśli kontrola wersji nie jest możliwa, możesz trzymać się czegoś odpowiedniego dla początkującego / młodszego, co jest podstawowe (i archaiczne).
Konfiguracją folderu internetowego twojego serwera programistycznego może być również svn Checkout (lub git) i możesz ustawić crontab, aby automatycznie zatwierdzał zmiany co jakiś czas automatycznie lub możesz po prostu zainstalować kopię zapasową lub zsynchronizować folder z inną lokalizacją kopii zapasowej, gdy wzajemnie nadpisują pliki (tak się stanie) i musisz podać Bobowi zmiany, które utracił. W końcu po kilku miesiącach pracy z systemem będą błagać cię o udzielenie dostępu do svn / git.
źródło
Musisz skorygować to założenie i dowiedzieć się, czy posiadają, czy nie mają żadnej wiedzy lub doświadczenia w zakresie systemów kontroli wersji. Nie ma sensu zakładać, kiedy mogliby mieć wiedzę.
Jak już powiedzieli inne odpowiedzi, po to jest kontrola wersji. Git jest prawdopodobnie najlepszym rozwiązaniem, a Learn Git to naprawdę dobry punkt wyjścia
źródło
Cóż, nie ma innego wyjścia niż użycie kontroli wersji .
Dropbox ma rodzaj kontroli wersji , ale uważam, że jeśli dwie osoby zapiszą plik, nowsza wersja po prostu zastąpi starszą wersję, co nie jest pożądane do kontroli wersji podczas opracowywania oprogramowania.
Svn jest łatwym do opanowania (przynajmniej łatwiejszym niż git) systemem kontroli wersji i można znaleźć różne publiczne repozytoria hostowane online, ale nie poleciłbym go zespołom rozproszonym geograficznie.
Tak więc sposobem na przydzielenie drużyn jest git. Jeśli Twoje publiczne źródło LUB zakup prywatnego planu nie stanowi problemu, utwórz repozytorium na github , w przeciwnym razie skonfiguruj lokalne repozytorium git.
Być może znajdziesz GUI dla git, które może ułatwić tym programistom rozpoczęcie koncepcyjnego zarządzania wersją systemu. W systemie Windows jest to TortoiseGIT . Nie korzystałem z żadnego klienta git gui dla Linuksa ani MAC, więc nie polecam go tutaj.
źródło
Jesteś na dobrej drodze
To
version controlling
jest najlepsza droga! Będzie dobrze służyć do współdzielenia kodu i pomocy w integracji. Ponadto częste odprawy są bardzo ważną dyscypliną, którą cały zespół musi ćwiczyć.Jednak wybór odpowiedniej kontroli wersji dla twojego projektu jest bardzo ważny.
Jest ostatni fajny post i odpowiedzi, które pomogą ci zdecydować: Jaki jest dobry przykład zabawki do nauczenia kontroli wersji?
źródło