Jaka jest najbardziej podstawowa i najprostsza platforma do wspólnego programowania (projekt PHP)? [Zamknięte]


14

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.


Użyłeś github jako tagu. Github jest bardzo fajny - czy masz pieniądze na prywatne repo?

Polecam SourceAnywhere Hosted. Korzystanie z produktu jest bardzo intuicyjne. W rzeczywistości, jeśli szukasz kontroli wersji, znajdziesz wiele dobrych sugestii / narzędzi. Jeśli chcesz skrócić krzywą uczenia się, oprócz samego produktu, miej na uwadze „dobrą obsługę klienta” przy wyborze produktu. Ponieważ oznacza to, że będziesz mieć dobre szkolenie i wsparcie techniczne od firmy.
Wietrzny

Odpowiedzi:


12

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.


2
Nie mam opcji wybierania innych programistów ani uczenia ich kontroli wersji. Zaufaj mi, wolałbym jedno i drugie. Ale nie mogę - dlatego zadałem to pytanie. Istnieje mnóstwo amatorskich projektantów, z czego korzystają?
Esuus

6
Uczą się odpowiednich narzędzi lub zostają na zawsze młodymi.
Adrian Schneider,

2
@Esuus Nauka gita nie trwa tak długo: try.github.com/levels/1/challenges/1
VirtuosiMedia

3
@VirtuosMedia Nie sądzę, że Git jest dokładnie prosty, SVN jest znacznie łatwiejszy do zrozumienia.
Matěj Zábský

1
Nie wiem o Git, ale TortoiseSVN naprawdę ułatwia niedoświadczonym użytkownikom radzenie sobie z SVN.
Brian

4

... 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.


Wydaje mi się, że to najlepsza odpowiedź, ponieważ jako jedyna faktycznie odpowiada na pytanie zamiast patronować pytającemu. Szczególnie doceniam wskazówki, w jaki sposób ułatwić ludziom Mercurial (biorąc pod uwagę łączenie i integrację z ich rąk). Wydaje się, że jest to najłatwiejszy sposób na kontrolę wersji z osobami niezdecydowanymi do udziału. Dzięki!
dallin 19.04.16

3

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).

  1. APP + DB na serwerze programistycznym
  2. Wszyscy na tym samym komunikatorze przez cały czas podczas pracy, aby mogli mówić i wiedzieć, kto pracuje
  3. Wszyscy edytują na żywo na serwerze DEV przez zwykły stary FTP
  4. Egzekwuj zasady zespołu dotyczące aktualizowania dziennika zmian wraz z ich poprawkami + kluczowymi komentarzami do kodu

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.


Mimo że wszystkie odpowiedzi tutaj były pomocne (i przez to teraz poważnie zastanawiam się, czy jest sposób, aby zmusić ich do nauki GIT / SVN), jesteś jedyną, która faktycznie odpowiedziała na moje pytanie. Dzięki.
Esuus

2

Zakładam, że większość z nich nigdy nie korzystała z żadnego systemu kontroli wersji.

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


2

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.


Dropbox ma jedną zaletę: możesz z niego korzystać, którzy nigdy nie używali systemów kontroli źródła w swoim życiu. Może to być dużą zaletą podczas pracy z profesorami naukowymi…
Donal Fellows,

GitHub ma również prywatne repozytoria, jeśli nie chcesz upubliczniać swojego kodu.
VirtuosiMedia,

@VirtuosiMedia Tak, wiem o tym, ale nie jestem pewien, czy są one bezpłatne.
Ozair Kafray

@OzairKafray Nie są darmowe, ale są dość tanie. Najmniejszy plan oferuje 5 prywatnych repozytoriów za 7 USD / miesiąc oraz nieograniczoną liczbę publicznych.
VirtuosiMedia,

2

Jesteś na dobrej drodze

To version controllingjest 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?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.