Nền tảng cơ bản và đơn giản nhất để phát triển hợp tác (dự án PHP) là gì? [đóng cửa]


14

Tôi cần phải làm việc với 4-5 lập trình viên trên một ứng dụng PHP khá trung bình bằng cách sử dụng codeigniter. Chúng tôi đang ở 5 địa điểm khác nhau trong một thành phố và tất cả các lập trình viên đều không được giáo dục tốt và tôi cho rằng hầu hết họ chưa bao giờ sử dụng bất kỳ hệ thống kiểm soát phiên bản nào.

Bạn có thể giới thiệu một số nền tảng rất dễ kiếm để cộng tác trong một dự án như thế này không? Tôi đang nói về một cái gì đó chỉ phức tạp hơn một thư mục dropbox được chia sẻ.


Bạn đã sử dụng github làm thẻ. Github rất đẹp - bạn có tiền cho một repo riêng không?

Tôi khuyên bạn nên SourceAnywhere Hosted. Nó rất trực quan để sử dụng sản phẩm. Trên thực tế, nếu bạn tìm kiếm kiểm soát phiên bản, bạn sẽ tìm thấy nhiều đề xuất / công cụ tốt. Nếu bạn muốn rút ngắn thời gian học tập, bên cạnh chính sản phẩm, hãy ghi nhớ "dịch vụ khách hàng tốt" khi chọn sản phẩm. Bởi vì điều đó có nghĩa là bạn sẽ được đào tạo tốt và hỗ trợ kỹ thuật từ công ty.
Gió

Câu trả lời:


12

Bạn đã biết câu trả lời rồi

Kiểm soát phiên bản được thiết kế để giải quyết vấn đề chính xác này . Nếu các nhà phát triển của bạn không muốn học cách sử dụng thực tiễn phát triển tiêu chuẩn này, bạn có thể cần xem xét lại các nhà phát triển của mình. Loại phần mềm nào họ sẽ phát hành nếu họ thể hiện sự ác cảm với các thực tiễn được chấp nhận tiêu chuẩn, cũng như ác cảm với việc học những điều mới?

Tôi sẽ đề nghị họ đọc Pro Git và thiết lập kho lưu trữ git riêng cho nhóm của bạn.


2
Tôi không có tùy chọn để chọn các nhà phát triển khác, cũng như không cho họ học kiểm soát phiên bản. Tin tôi đi, tôi thích cả hai. Nhưng tôi không thể - đó là lý do tôi đã hỏi câu hỏi này. Có rất nhiều deveopers nghiệp dư ngoài kia, họ sử dụng những gì?
Esuus

6
Họ học các công cụ thích hợp hoặc ở lại đàn em mãi mãi.
Adrian Schneider

2
@Esuus Không mất nhiều thời gian để học git: try.github.com/levels/1/challenges/1
VirtuosiMedia

3
@VirtuosMedia Tôi không nghĩ Git hoàn toàn đơn giản, SVN dễ nắm bắt hơn nhiều.
Matěj Zábský

1
Tôi không biết về Git, nhưng TortoiseSVN giúp người dùng thiếu kinh nghiệm đối phó với SVN thực sự dễ dàng.
Brian

4

... FTP

Ok, đây là cách tôi bắt đầu cộng tác, kết nối Notepad ++ với FTP, sao lưu cứ sau 10 phút trong các thư mục được đổi tên thực sự, nếu bạn làm điều này, vì mục đích của dự án của bạn ít nhất là sử dụng kiểm soát phiên bản tại máy chủ.

Một IDE trực tuyến

Cloud9 rất đẹp và có chỉnh sửa đồng thời, tuy nhiên, bạn sẽ phải trả nhiều hơn 1 không gian làm việc riêng tư để làm việc với nhóm của mình, nhưng nó đáng giá.

... hãy thử Mercurial

Nếu bạn không thấy đồng nghiệp của Git có thể tiếp cận đủ, hãy thử Mercurial với TortoiseHG, một ứng dụng GUI cho Mercurial. Sẽ mất hai phút để thiết lập và ít hơn để bắt đầu sử dụng nó.

Cho họ sử dụng GUI, họ chỉ cần học cách sử dụng 4 nút (kéo, cập nhật, cam kết, đẩy) và tìm hiểu 2 hoặc 3 khái niệm để lưu và chia sẻ công việc của họ.

Có họ đăng ký trong bitbucket . Tạo một kho lưu trữ cho dự án của bạn và yêu cầu họ phân nhánh nó để họ có thể làm việc trong gương của chính kho lưu trữ đó và theo cách đó họ không phải đối phó với việc hợp nhất. Bạn thực hiện tích hợp và chỉ yêu cầu họ đưa ra các yêu cầu kéo từ ngã ba Bitbucket của họ sau khi họ đã đẩy. Có họ kéo chỉ từ kho lưu trữ của bạn (cái mà họ rẽ nhánh).

Tự học Mercurial để bạn có thể giải quyết tất cả các vấn đề liên quan, đây là một khởi đầu tốt: http://hginit.com/

Hãy thử cả hai

Bạn có thể sử dụng Mercurial từ Cloud9, nó tuyệt đến mức nào?.

Ngừng giả định

Nếu bạn là người muốn sử dụng các công cụ chính xác, bạn đã ở vị trí lãnh đạo. Đừng cho rằng họ không được giáo dục và nói chuyện với họ về cách mọi thứ được thực hiện trong thế giới thực.

Hãy nhiệt tình về nó một không bảo trợ.

Nó thực sự không dễ dàng hơn thế này nếu bạn muốn làm đúng. Nếu họ rõ ràng không muốn sử dụng kiểm soát phiên bản thì bạn có thể gặp một vấn đề nghiêm trọng khác.


Tôi cảm thấy đây là câu trả lời hay nhất, vì đây là câu trả lời duy nhất thực sự trả lời câu hỏi thay vì bảo trợ người hỏi. Tôi đặc biệt đánh giá cao những lời khuyên về cách làm cho Mercurial dễ dàng hơn cho mọi người (lấy sự hợp nhất và hòa nhập ra khỏi tay họ). Đây có vẻ như là cách dễ nhất để kiểm soát phiên bản với những người ngần ngại tham gia. Cảm ơn!
dallin

3

Tôi khuyên các nhà phát triển của bạn nên http://try.github.com

Nhưng nếu không thể kiểm soát phiên bản, bạn có thể sử dụng một cái gì đó phù hợp cho người mới bắt đầu / thiếu niên cơ bản (và cổ xưa).

  1. APP + DB trên máy chủ phát triển
  2. Mọi người trên cùng một người nhắn tin mọi lúc trong khi làm việc để họ có thể nói và biết ai đang làm việc
  3. Mọi người đều chỉnh sửa trực tiếp trên máy chủ DEV thông qua FTP cũ đơn giản
  4. Thực thi các quy tắc của nhóm về việc cập nhật một thay đổi với các sửa đổi của họ + làm cho các nhận xét về mã trở nên quan trọng

Thiết lập cho thư mục web của máy chủ phát triển của bạn cũng có thể là svn checkout (hoặc git) và bạn có thể thiết lập crontab để tự động sửa đổi bản sửa đổi thường xuyên hoặc bạn chỉ có thể cài đặt bản sao lưu hoặc có thể rsync thư mục vào một vị trí sao lưu khác khi họ ghi đè lên các tệp khác (vì nó sẽ xảy ra) và bạn cần cung cấp cho Bob những thay đổi mà anh ta đã mất. Cuối cùng, sau khi làm việc với hệ thống được vài tháng, họ sẽ cầu xin bạn cho họ quyền truy cập svn / git.


Mặc dù tất cả các câu trả lời ở đây đều hữu ích (và vì chúng bây giờ tôi đang nghiêm túc xem xét liệu có cách nào để khiến chúng học GIT / SVN không), bạn là người duy nhất thực sự trả lời câu hỏi của tôi. Cảm ơn người đàn ông.
Esuus

2

Tôi cho rằng hầu hết trong số họ chưa bao giờ sử dụng bất kỳ hệ thống kiểm soát phiên bản nào.

Bạn cần sửa chữa giả định đó và tìm hiểu xem họ có hoặc không có bất kỳ kiến ​​thức hoặc kinh nghiệm nào về bất kỳ hệ thống kiểm soát phiên bản nào không. Không có điểm nào giả định khi họ có thể có kiến ​​thức.

Như các câu trả lời khác đã nói, đây là những gì kiểm soát phiên bản dành cho. Git có lẽ là cách tốt nhất về phía trước và Tìm hiểu Git là điểm khởi đầu thực sự tốt


2

Chà, không có cách nào khác ngoài việc sử dụng kiểm soát phiên bản .

Dropbox có loại kiểm soát phiên bản , nhưng tôi tin rằng nếu hai người lưu một tệp, phiên bản mới hơn sẽ chỉ thay thế phiên bản cũ hơn, điều không mong muốn đối với việc kiểm soát phiên bản trong quá trình phát triển phần mềm.

Svn là một hệ thống kiểm soát phiên bản dễ học (ít nhất là dễ hơn git) và bạn có thể tìm thấy các kho lưu trữ công cộng khác nhau được lưu trữ trực tuyến, nhưng tôi không đề xuất nó cho các nhóm phân phối theo địa lý.

Vì vậy, cách để đi cho các đội được phân bổ là git. Nếu việc nguồn của bạn công khai HOẶC mua gói riêng không phải là vấn đề, thì hãy tạo kho lưu trữ trên github , nếu không thì thiết lập kho lưu trữ git cục bộ.

Có thể bạn có thể tìm thấy GUI cho git, điều này có thể giúp các nhà phát triển này dễ dàng bắt đầu nắm bắt một hệ thống kiểm soát phiên bản hơn về mặt khái niệm. Đối với Windows TortoiseGIT của nó . Tôi chưa sử dụng bất kỳ ứng dụng khách git gui nào cho Linux hoặc MAC, vì vậy tôi sẽ không đề xuất một ứng dụng nào ở đây.


Dropbox có một lợi thế: bạn có thể khiến mọi người sử dụng nó chưa bao giờ sử dụng các hệ thống kiểm soát nguồn trong cuộc sống của họ. Đây có thể là một lợi thế lớn khi làm việc với các giáo sư khoa học
Mạnh mẽ

GitHub cũng có kho lưu trữ riêng nếu bạn không muốn công khai mã của mình.
VirtuosiMedia

@VirtuosiMedia Vâng, tôi biết điều đó, nhưng tôi không chắc chúng có miễn phí không.
Ozair Kafray

@OzairKafray Chúng không miễn phí, nhưng chúng khá rẻ. Gói nhỏ nhất cung cấp cho bạn 5 kho lưu trữ riêng với giá $ 7 / tháng, cộng với công khai không giới hạn.
VirtuosiMedia

2

Bạn đang đi đúng hướng

Các version controllinglà con đường để đi! Nó sẽ phục vụ tốt để cộng tác chia sẻ mã và giúp tích hợp. Ngoài ra, (các) đăng ký thường xuyên là môn học rất quan trọng mà tất cả các đội cần thực hành.

Tuy nhiên, việc chọn điều khiển phiên bản phù hợp cho dự án của bạn là rất quan trọng.

Có một bài đăng và câu trả lời hay gần đây để giúp bạn quyết định: một ví dụ đồ chơi tốt để dạy kiểm soát phiên bản là gì?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.