Cách dễ dàng để thu hút những người không lập trình (tức là nhà thiết kế) vào việc sử dụng kiểm soát phiên bản?


13

Một số cách chính để khiến nhóm của bạn tham gia vào việc sử dụng kiểm soát phiên bản trong quá trình phát triển, phát triển web hay nói cách khác là gì?

Tôi từ chối làm việc mà không có nó, có nghĩa là bất cứ ai tham gia vào dự án cũng phải sử dụng nó. Đó chỉ là thực hành tốt.

Các GUI như Tower đã giúp đỡ, nhưng khái niệm về nó gặp phải sự tức giận ('không phải là công việc của tôi!), Sự rụt rè hoặc chỉ đơn giản là không sử dụng nó (thay vào đó, sử dụng FTP để kiểm soát phiên bản để nói, phát triển hoặc triển khai ).

Chỉnh sửa: Tôi nên làm rõ một chút rằng tôi không chỉ có nghĩa là hình ảnh / PSD.


11
Làm cho nó dễ dàng sử dụng ...

1
Tôi thấy rằng Git khá dễ dàng khi bạn dành vài ngày với nó và có sự đồng thuận về cách phát triển nên đi .. nó vẫn là một trở ngại lớn hơn cho những người khác.
Kevin

2
Một điều cần nhớ là kiểm soát phiên bản và sao lưu đôi khi kết hợp (trong khi rất khác nhau) và với một nhà thiết kế có dữ liệu nhị phân; sao lưu có thể đã là chuẩn mực và do đó hiểu những gì anh ấy hoặc cô ấy đạt được cần phải được hiểu.
Aaron McIver

1
@Kevin: Điều gì dễ dàng, rõ ràng và trực quan đối với một lập trình viên không nhất thiết là bất cứ điều gì tương tự với người khác, ngay cả những người khác thông minh và sáng tạo.
David Thornley

1
Tham gia với một nhà thiết kế sau đó thu hút riêng cô ấy vào kiểm soát phiên bản. :)

Câu trả lời:


11

Tôi làm việc trong một nhóm gồm cả nhà phát triển và nhà thiết kế và tất cả chúng tôi đều sử dụng kiểm soát phiên bản. Đối với các nhà thiết kế, nó hút.

Chia sẻ / sao lưu tệp không bằng Kiểm soát phiên bản

Khi bạn nói:

Tôi từ chối làm việc mà không có nó, có nghĩa là bất cứ ai tham gia vào dự án cũng phải sử dụng nó. Đó chỉ là thực hành tốt.

Bạn cần lưu ý về những cạm bẫy của việc sử dụng kiểm soát phiên bản với dữ liệu nhị phân:

  • Ghi đè : Nếu hai nhà thiết kế đang làm việc trên cùng một tệp, thì người thứ hai cam kết sẽ ghi đè lên các thay đổi của lần đầu tiên như phiên bản hiện tại. Cách duy nhất để ngăn chặn điều này là khóa hoặc liên lạc liên tục về việc ai đang làm gì với tập tin nào, cả hai đều có thể cản trở quy trình làm việc của nhóm của họ.
  • Sáp nhập : Hợp nhất với công cụ hỗ trợ là không tồn tại trong dữ liệu nhị phân. Hợp nhất thủ công là đau đớn và dễ bị lỗi rất lớn.
  • Kho lưu trữ đầy đủ: Hệ thống VC chỉ lưu trữ các dòng thay đổi cho các tệp văn bản. Điều này là không thể đối với dữ liệu nhị phân, vì toàn bộ tệp sẽ trông khác với hệ thống VC. Điều này có nghĩa là trong khi 20 phiên bản của tệp văn bản 10KB có thể chỉ chiếm 20KB, thì 20 phiên bản của tệp 1MB có thể sẽ chiếm gần hơn 20 MB. Một nhóm thiết kế có kích thước vừa phải có thể dễ dàng tạo ra nhiều bản sửa đổi trên hàng tá tệp nhị phân. Bộ phận CNTT của bạn có thể sớm ghét bạn vì các yêu cầu lưu trữ và thậm chí có thể tăng bộ nhớ / CPU mà máy chủ VC của bạn sẽ có.

    Bạn và các nhà phát triển khác cũng có thể sớm ghét việc kiểm tra hoặc cập nhật có thể mất bao lâu trừ khi bạn thiết lập một tổ chức kho lưu trữ rất tốt để tránh các tệp nhị phân.

  • Giảm lợi ích : Các nhà thiết kế của bạn sẽ hiếm khi quay lại các phiên bản trước của các tệp nhị phân, bởi vì 1) không có cách nào dễ dàng để kiểm tra nội dung của phiên bản trước 2) dù sao cũng không dễ dàng hợp nhất, và quan trọng nhất là 3) họ không Không hoạt động theo cách đó - chúng được sử dụng để xây dựng các phiên bản thay thế của một số đồ họa có thể vẫn hữu ích trong các tệp sản xuất.

Đối với mã của bạn, bạn hoàn toàn nên sử dụng VC và bạn có quyền yêu cầu nó.

Nhưng bạn cần kiểm tra giả định rằng điều đó có nghĩa là tất cả mọi người cũng phải sử dụng nó, cũng như liệu nó có thực hành tốt cho các nhà thiết kế hay không (mặc dù là sao lưu). Bạn nên lưu trữ các tài sản đồ họa cuối cùng theo yêu cầu của trang web / ứng dụng trong VC của bạn, nhưng đối với các tệp sản xuất, nó có thể không phải là giải pháp phù hợp.


Liên quan đến "kho lưu trữ kho": bạn có thể cố gắng xử lý vấn đề đó với các định dạng tệp phù hợp. Tài liệu được lưu trữ ở định dạng ngôn ngữ đánh dấu tài liệu và đồ họa được lưu trữ ở định dạng ngôn ngữ đánh dấu đồ họa thay vì các định dạng nhị phân tương đương có thể giúp ích rất nhiều. Tất nhiên khả năng tồn tại của điều này phụ thuộc vào dự án được đề cập và sự sẵn sàng và năng lực của những người liên quan. ;)
Baelnorn

5
Ghi đè không xảy ra trên các giá trị VCS. Điều gì xảy ra là bạn có hai phiên bản của cùng một tệp. Có, phần đầu của kho lưu trữ sẽ có lần lưu cuối cùng; nhưng công việc của nhà thiết kế khác không bị mất như trên ổ cứng chung. Tôi nghĩ đó là một sự khác biệt quan trọng.
Berin Loritsch

2
@Berin: Điều đó đúng, nhưng một trong những lợi ích của VCS hiện đại là hai người có thể làm việc cùng một lúc và rất nhiều công việc hòa giải là tự động. Tuy nhiên, với một tệp nhị phân không có quá trình hợp nhất có ý nghĩa, điều đó là không thể. Ngoài ra, phần đầu của kho lưu trữ là phần mà mọi người sẽ nghĩ là "thực".
jprete

1
Vì vòng đời của mã nguồn và tài liệu thiết kế khác nhau, hãy đảm bảo sử dụng các kho lưu trữ riêng biệt cho chúng. Tôi không đồng ý rằng kho lưu trữ cho các nhà thiết kế; hầu hết thời gian được dành cho việc suy nghĩ và mô hình hóa, không tạo ra nhiều thay đổi nhỏ cho các tài liệu. Chúng tôi cũng đặt quy tắc không cho phép hợp nhất tự động (trên tất cả các tệp được lưu trữ trong kho) và do đó có khóa tệp bắt buộc để chỉnh sửa. Kết hợp với giao tiếp nhóm tốt, điều này ngăn ngừa rất nhiều nhược điểm bạn đề cập.
rsp

1
Bạn đã khá sai, ví dụ: Ghi đè - đây không phải là vấn đề kiểm soát phiên bản, ngược lại, nó giúp bạn phát hiện ra nó. Hệ thống VC chỉ lưu trữ các dòng thay đổi cho các tệp văn bản. - Sai cho git.
maaartinus

4

Tôi từ chối làm việc mà không có nó, có nghĩa là bất cứ ai tham gia vào dự án cũng phải sử dụng nó. Đó chỉ là thực hành tốt.

Đó là một thái độ TUYỆT VỜI, ngay trên đó với 'không phải việc của tôi!' :-)

Cách tốt nhất để mua vào là sử dụng một cái gì đó như TortoiseGit hoặc TortoiseSVN để tích hợp kiểm soát phiên bản vào Explorer (giả sử Windows). Sẽ mất thời gian để thấy lợi ích thực sự nếu bạn không quen với mô hình kiểm soát phiên bản. Rùa ít nhất giúp dễ dàng làm việc với VCS bằng chuột. Một "Nhấp chuột phải -> Đăng nhập" đơn giản là tất cả những gì nó cần.

Vì lý do này, tôi đã tìm cách triển khai kiểm soát phiên bản trong suốt trong TortoiseGit trên mỗi tệp đóng. Nếu bạn giao cho ai đó một nhánh để làm việc và sau đó mọi thao tác ghi / đóng sẽ trở thành một hoạt động cam kết, thì đến một lúc nào đó, bạn là nhà phát triển có thể hợp nhất chi nhánh của họ mà không phải lo lắng về tính nhất quán của toàn bộ kho lưu trữ và họ có thể tiếp tục với kinh doanh làm những gì họ làm mà không cần phải biết về kiểm soát phiên bản.

Tôi có cùng một vấn đề với một bộ tài liệu kiểm toán khổng lồ mà tôi không thể khiến mọi người kiểm soát phiên bản, vì vậy chúng tôi có 50 phiên bản của cùng một tài liệu trôi nổi xung quanh hoàn toàn khác nhau.


4

Cách để tiếp cận điều này là thiết lập một hệ thống xây dựng (như Hudson ) sử dụng hệ thống kiểm soát phiên bản để lấy các nguồn xây dựng và biến nó thành một quy tắc dự án mà chỉ các vật phẩm được cung cấp bởi hệ thống xây dựng sẽ được gửi đến nhóm thử nghiệm và cuối cùng được triển khai tại trang web của khách hàng.

Làm cho nó rất rõ ràng rằng theo như quá trình dự án liên quan đến bất cứ điều gì không đến từ bản dựng chỉ là riêng tư cho các nhà phát triển; miễn là tác phẩm của ai đó không được chấp nhận vào bản dựng, nó cũng có thể không tồn tại.


2

Minh họa những ưu điểm:

  • Chỉ cho họ cách họ có thể tiết kiệm thời gian bằng cách cho phép mọi người chia sẻ công việc và truy cập vào một vị trí trung tâm.
  • Chỉ cho họ cách nó cho phép các nhà thiết kế làm việc trên các phần khác nhau của dự án cùng một lúc và hợp nhất nó lại với nhau.
  • Chỉ cho họ cách họ có thể gắn thẻ và xây dựng phiên bản cũ hơn của ứng dụng để kiểm tra hoặc xử lý sự cố.
  • Chỉ cho họ cách họ có thể loay hoay với một thiết kế để thử nghiệm và sau đó làm mới dự án và không giữ thay đổi nếu họ không muốn.
  • Chỉ cho họ cách họ có thể thấy những gì đã xảy ra theo thời gian.

1
-1 Đây là về thu hút những người không lập trình; danh sách xuất hiện hướng đến một lập trình viên. Nếu bạn sửa đổi câu trả lời của mình, tôi chắc chắn sẽ xóa bỏ phiếu bầu ...
Aaron McIver

1
Tôi nghĩ bạn đã bỏ lỡ phần "dành cho người không lập trình". Tất cả các nhiệm vụ bạn đề cập là nhiệm vụ lập trình viên.
Erik Funkenbusch

Xin lỗi, tôi chỉ đọc câu hỏi, không phải tiêu đề. Tôi sẽ chỉnh sửa câu trả lời.
jzd

1 đã bị xóa ...
Aaron McIver

1

"Không phải việc của tôi" về kiểm soát phiên bản là một thái độ lành mạnh từ một người không lập trình.

Xây dựng một hệ thống kiểm soát phiên bản đơn giản và vô hình như Dropbox để đồng bộ hóa hoặc Time Machine để sao lưu.

Nó chỉ nên làm việc. Không kiểm tra, không cam kết. Chỉ cần đặt các tập tin trong thư mục dự án.


1

Tôi đã sử dụng tort rùaHG / đồng bóng với người phụ nữ trang web mới, không có vấn đề gì ở đó. Không có kiểm tra làm cho nó cực kỳ đơn giản và gây áp lực lên người thực sự phải đảm bảo các tệp được đồng bộ hóa. Nó thậm chí không giống như "một việc nữa phải làm", chỉ là "ok Tôi sẽ giới thiệu trang web nên tôi phải yêu cầu Peter đồng bộ lại các thay đổi." và đó không phải là vấn đề.

Trước đây tôi không có kinh nghiệm về đồng bóng, chúng tôi sử dụng VSS và tôi sẽ không bao giờ muốn điều đó trên bất kỳ ai để kiểm soát nguồn trang web. Tôi đã thử nó một lần và tôi sẽ không trách ai khi không muốn sử dụng nó.


0

Tôi muốn nói rằng việc sử dụng rùa * nhái, nó đơn giản hơn. Hoặc tích hợp kiểm soát phiên bản, trong IDE hoặc bất cứ điều 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.