Tôi sẽ cố gắng cung cấp cho bạn một số gợi ý được hỗ trợ bởi kinh nghiệm cá nhân của tôi.
Một trong những đồng đội của tôi, mặc dù có kinh nghiệm nhưng không thực sự hiểu SVN. Đương nhiên, các khu vực trống trên bản đồ tinh thần của anh ta mô tả các đại dương của SVN khiến anh ta chấp nhận các mô hình sử dụng khá kỳ lạ.
Ví dụ: anh ta đã tuyên bố chính sách "1 SVN cam kết mỗi ngày cho mỗi nhà phát triển" bởi vì nếu không thì "máy chủ sẽ sớm hết dung lượng đĩa". Khi tôi giải thích cho anh ấy rằng SVN cam kết là đồng bằng, không phải là bản sao đầy đủ, anh ấy đã trả lời với sự nghi ngờ và ngay cả hôm nay tôi không hoàn toàn chắc chắn nếu anh ấy hiểu ý nghĩa của nó.
Ngay cả khi dung lượng ổ đĩa là một vấn đề, bạn luôn có thể cam kết nhiều tệp cùng một lúc, vì vậy tôi nghĩ những gì anh ấy đề xuất là giải pháp sai. Hơn nữa, có thể lãng phí rất nhiều dung lượng bằng cách kiểm tra các tệp nhị phân lớn vì SVN không lưu trữ deltas cho các tệp nhị phân. Một lần đăng ký mỗi ngày cũng rất tệ vì nó buộc bạn phải thực hiện các thay đổi không thuộc về nhau, ví dụ trong trường hợp bạn sửa nhiều hơn một lỗi mỗi ngày.
Giải pháp chúng tôi đã áp dụng trong công ty của chúng tôi là có một bộ lọc từ chối mọi cam kết có chứa các tệp nhị phân. Chúng tôi có thể buộc cam kết bằng cách sử dụng một từ khóa đặc biệt trong nhận xét đăng ký (chúng tôi phải cho SVN biết rằng chúng tôi biết những gì chúng tôi đang làm). Một lần trong một hoặc hai năm, người quản lý dự án lưu trữ các nhánh cũ và xóa chúng khỏi kho lưu trữ. Với chiến lược này, chúng tôi không gặp vấn đề về không gian mà tôi biết (kho lưu trữ của chúng tôi hỗ trợ một số dự án khác nhau và có hơn 100000 phiên bản).
Tóm tắt, bạn có thể nói với anh ta rằng bạn đồng ý với anh ta rằng dung lượng đĩa là một vấn đề quan trọng, nhưng mặt khác, chỉ ra
- tầm quan trọng của việc đăng ký liên quan đến tính năng thay vì đăng ký hàng ngày nguyên khối;
- thực tế là bằng cách kiểm tra một tệp nhị phân lớn mỗi ngày, người ta có thể điền vào đĩa.
Sau đó, bạn có thể đề nghị bạn có một cuộc họp (có thể với các nhà phát triển hoặc quản trị viên hệ thống khác) để thảo luận về các chiến lược để kiểm soát việc sử dụng không gian đĩa (ví dụ: bộ lọc tệp nhị phân, sao lưu thường xuyên và dọn sạch các nhánh không sử dụng cũ).
Chúng tôi cũng đã có một cuộc tranh luận sôi nổi về việc có nên bao gồm cấu hình .project của Eclipse trong SVN hay không. Đồng đội của tôi khẳng định chúng ta nên, mặc dù nó đã gây ra vô số xung đột vô nghĩa. Tôi đã chống lại việc giữ các tệp cấu hình nhà phát triển cá nhân trong SVN. Cuối cùng, hóa ra đồng đội của tôi đã thực hành kiểm tra lại toàn bộ cây nguồn sau mỗi lần xác nhận để đảm bảo "mã được cam kết vào kho hoạt động". Đó là lý do anh ta rất kiên quyết trong việc giữ cấu hình dự án trong SVN - vì vậy sẽ dễ dàng nhập lại dự án. Khi tôi giải thích rằng cam kết đồng bộ hóa bản sao làm việc với từng byte từ xa khiến việc kiểm tra lại không cần thiết, đồng đội của tôi đã trả lời một cách nghi ngờ một lần nữa và cuối cùng đã loại bỏ toàn bộ vấn đề là không đáng kể.
Theo tôi, nhóm của chúng tôi lãng phí thời gian bằng cách giải quyết xung đột SVN trong các tệp cấu hình dự án chỉ chứa các cài đặt dành riêng cho nhà phát triển không cần chia sẻ với SCM. Tất cả điều này lộn xộn bởi vì ai đó đã điều chỉnh quá trình xung quanh các giả định không chính xác.
Bạn có sử dụng máy chủ xây dựng không? Chúng tôi có một máy chủ xây dựng để kiểm tra dự án hoàn chỉnh và biên dịch nó mỗi đêm. Sáng hôm sau, người kiểm tra có trình cài đặt sẵn sàng để kiểm tra sản phẩm (nếu bản dựng chính chạy chính xác) và chúng tôi (nhà phát triển) có báo cáo bản dựng với tất cả các cảnh báo (và có lỗi, trong trường hợp có bất kỳ). Tất nhiên, bạn cần thiết lập các tệp cấu hình tiêu chuẩn cho máy chủ bản dựng và kiểm tra chúng. Mỗi nhà phát triển sau đó có thể kiểm tra chúng cùng với phần còn lại của dự án, nhưng họ không được phép kiểm tra bất kỳ thay đổi cục bộ nào.
Trong kịch bản này, bạn giải quyết nhu cầu của anh ấy để có thể kiểm tra dự án hoàn chỉnh và xây dựng nó bất cứ lúc nào. Bạn cũng tránh dành thời gian để hợp nhất các thay đổi không nên được kiểm tra ngay từ đầu vì chúng không phải là một phần của sản phẩm: sản phẩm là bản dựng chính và phải được giữ sạch. Nếu ai đó phá vỡ bản dựng chính (ví dụ: kiểm tra tệp .project của chính anh ta), bạn có thể hoàn nguyên các thay đổi hoặc buộc nhà phát triển khắc phục sự cố.
Có thể nếu anh ta đưa ra vấn đề một lần nữa, bạn có thể đề nghị có một cuộc họp (có thể với các nhà phát triển khác) và tìm ra một chiến lược chung.
Làm thế nào tôi có thể thuyết phục một đồng đội, người tự coi mình là đàn anh, để hiểu rõ hơn về những điều cơ bản của SVN?
Tôi nghĩ rằng chiến lược tốt nhất sẽ là tránh đưa cuộc xung đột đến cấp độ cá nhân và thay vào đó là thảo luận về các vấn đề trong tay và các giải pháp khả thi. Nếu bạn có ấn tượng rằng anh ấy đang tìm kiếm một cuộc đối đầu cá nhân, đây là một số gợi ý (một lần nữa, từ kinh nghiệm cá nhân):
- Làm thế nào là động lực nhóm của bạn? Các đồng nghiệp khác của bạn có trải nghiệm tương tự với đồng đội này không? Có rất nhiều gợi ý nhỏ, không quá rõ ràng mà một nhóm có thể đưa ra cho một thành viên của mình để ngăn chặn một số hành vi nhất định (trò đùa hoặc quan sát nhỏ) và khuyến khích đối đầu mang tính xây dựng (đề xuất một cuộc họp hoặc đưa ra một chủ đề không chính thức trong giờ giải lao ). Đôi khi một nhóm tốt có thể nhanh chóng cô lập một yếu tố đáng lo ngại và đưa mọi thứ trở lại bình thường.
- Làm thế nào tốt là quản lý nhân sự của bạn? Chúng tôi đã có một trường hợp xung đột trong công ty của chúng tôi và người đứng đầu nhân sự đã phải can thiệp để làm rõ tình hình. Điều đó không tốt, nhưng đôi khi bầu không khí làm việc trở nên xấu đi đến mức nó sẽ không trở nên tốt hơn. Tôi hy vọng đây không phải là trường hợp của bạn (tôi không có ấn tượng rằng nó đã đi xa đến vậy) nhưng sẽ rất tốt nếu bạn biết bạn có một quản trị nhân sự tốt hay bạn phải tự mình giải quyết xung đột.
Tại sao tôi viết bài này? Bạn nói rằng bạn muốn "thuyết phục một đồng đội, người tự coi mình là đàn anh, để hiểu rõ hơn về những điều cơ bản của SVN". Đối với tôi có vẻ như cuộc xung đột có thể trở nên quá cá nhân. Một số nhà tâm lý học cho rằng 70% giao tiếp của chúng ta ở cấp độ cảm xúc, nếu mức độ này không hoạt động, thì mọi người ngừng nói về sự thật vì họ quá bận rộn để xử lý cảm xúc.
Vì vậy, bên cạnh việc giải thích quan điểm của bạn, bạn cũng có thể thử làm một cái gì đó để cải thiện giao tiếp. Mời bạn đi uống cà phê hoặc cùng nhau nghỉ trưa, có một cuộc trò chuyện ngắn về một chủ đề không liên quan đến công việc, v.v., có thể cải thiện giao tiếp và khiến sự chú ý của đồng nghiệp trở lại với những sự thật quan trọng mà bạn muốn anh ấy hiểu. Nếu anh ấy chấp nhận kiểu giao tiếp này, thì có lẽ những mâu thuẫn mà bạn có từ trước đến nay có liên quan đến thực tế là bạn không biết rõ về nhau và có một số hiểu lầm nhỏ nhưng có lẽ anh ấy sẵn sàng xây dựng một sự hợp tác mang tính xây dựng. Nếu anh ta từ chối, thì có thể có sự thù địch sâu sắc hơn về phía anh ta.
Trong trường hợp này, tôi nghĩ bạn nên đợi cho đến khi vai trò của bạn trở nên rõ ràng hơn. Nếu đồng đội của bạn không chính thức có thứ hạng cao hơn cấp bậc của bạn, anh ta sẽ không cảm thấy khó chịu với những nỗ lực của bạn để cải thiện mọi thứ. Với thời gian, anh ta sẽ phải chấp nhận nó hoặc tự biến mình thành kẻ ngốc nếu anh ta cố gắng thể hiện rằng anh ta hiểu rõ hơn. Nếu anh ta có thứ hạng cao hơn, bạn nên tìm cách để anh ta hiểu rằng điều này không được thảo luận: các quan sát của bạn nhằm cải thiện năng suất và không làm suy yếu vị trí của anh ta, điều này phải rõ ràng 100%. Khi các vai trò đã được làm rõ, nếu anh ta vẫn không thể chấp nhận những lời đề nghị hoặc chỉ trích mang tính xây dựng, thì anh ta thực sự phải có một số vấn đề với lòng tự trọng hoặc một cái gì đó tương tự.
Vì vậy, nếu tất cả các chiến lược trên đều thất bại và bạn luôn cảm thấy thất vọng, tôi sợ điều hợp lý duy nhất cần làm là đóng gói đồ đạc của bạn và tìm kiếm một nơi tốt hơn. Tôi đã thực hiện trải nghiệm này ba năm trước và tìm thấy một công ty tốt hơn nhiều mà bây giờ tôi rất hài lòng. Có thể đây không phải là trường hợp của bạn (tôi hy vọng không phải vậy) nhưng cũng cố gắng hiểu điểm này.
Chỉ 2 xu của tôi.