Tôi bắt đầu một công việc trong một công ty mà họ sử dụng Maven kết hợp với Git. Tôi đã không làm việc với Maven trước đây và tôi hy vọng câu hỏi của tôi không quá ngu ngốc. Tại sao nên sử dụng Maven kết hợp với Git? Từ những gì tôi đọc Maven có một địa phương, một trung tâm và có thể có một kho lưu trữ từ xa, nơi nó có thể tìm thấy nó phụ thuộc. Điều này sẽ cho phép một nhóm lập trình làm việc cùng nhau trên cùng một mã. Mục đích của Git ở đây là gì? Nó có thể được lập trình trong một đội chỉ với Maven và không có sự giúp đỡ của Git?Tại sao kết hợp Maven với Git?
Trả lời
Tôi đoán nó sẽ là thể làm việc chỉ với Maven. Nó thậm chí có thể không hoàn toàn khủng khiếp. Tuy nhiên, Maven là hệ thống phân phối bản phát hành (ngay cả khi chúng là ảnh chụp nhanh hoặc bất kỳ thứ gì). Nó là một công cụ hoàn toàn khác, so với phần mềm điều khiển phiên bản. Tôi đoán bạn có thể nói Maven chỉ là phần "phân tán" mà không có phần "kiểm soát phiên bản" của các hệ thống DVCS như git.
Điều khiển phiên bản thực có thể làm a lot of stuff Maven không hỗ trợ trực tiếp, chẳng hạn như hợp nhất, khác biệt, ghi nhật ký. Tôi chắc chắn nó sẽ là có thể để xây dựng một hệ thống điều khiển phiên bản thực tế, đầy đủ tính năng trên đầu trang của Maven, với các plugin phù hợp, nhưng nó sẽ rất klunky và khó xử khi sử dụng. Các thích của git
đã làm tất cả điều này, và chúng đã được thiết kế để làm điều đó ngay từ đầu, vì vậy chúng làm tốt hơn so với một số hack trên Maven có thể làm, vì vậy tôi nghi ngờ không ai thực sự cố gắng.
Ý tôi là, bạn có thể thực hiện điều khiển phiên bản bằng thư mục chia sẻ, quy ước đặt tên, tệp nhật ký thủ công, trò chuyện nhóm IM (kênh irc) để đồng bộ hóa giữa nhà phát triển, công cụ khác ... để so sánh nội dung, v.v. thật khủng khiếp khi sử dụng và rất dễ "phá vỡ" (trong trường hợp này, dễ bị hỏng toàn bộ dự án và tất cả lịch sử của nó). Đã có một sự phát triển lâu dài của hệ thống kiểm soát phiên bản, bạn có thể bắt đầu đọc về nó ví dụ here, và bắt đầu làm nó trên đầu trang của Maven sẽ giống như nhảy 30 năm trở lại trong thời gian.
Khi sử dụng Maven
, phụ thuộc của dự án của bạn được xác định rõ trong pom.xml
, tốt cho phát triển cộng tác khi thêm phụ thuộc không yêu cầu các nhà phát triển khác được thông báo là tự động xử lý các phụ thuộc bằng cách tải xuống phụ thuộc.
Git được sử dụng để kiểm soát phiên bản được phân phối rất tốt để giữ các thay đổi mã theo dõi trong dự án của bạn.
Về cơ bản, hai công cụ này giúp việc phát triển cộng tác trở nên dễ dàng. Tuy nhiên, đây chỉ là một mô tả khóa học tai nạn, có rất nhiều lợi thế.
Vâng maven và git là dành cho mục đích khác nhau:
GIT
giữ sourcecode của ứng dụng của bạnMAVEN
được sử dụng cho việc quản lý phụ thuộc. Nó chứa các phụ thuộc nhị phân của ứng dụng của bạn. Nó cũng tạo ra một sự trừu tượng của IDE được sử dụng. Một nhà phát triển có thể sử dụng nhật thực và một intellij khác. Dự án cũng có thể được xây dựng với dòng lệnh.
- 1. diff git với kết hợp --word-diff
- 2. Tại sao git AuthorDate khác với CommitDate?
- 3. Tại sao tôi nên kết hợp Math.floor với Math.random?
- 4. Tại sao kết hợp 3 chiều thuận lợi hơn so với kết hợp 2 chiều?
- 5. Tại sao git rebase yêu cầu hợp nhất 3 chiều?
- 6. Tại sao scalatest kết hợp đầu ra?
- 7. Tại sao git rebase thường có ít xung đột hợp nhất hơn so với hợp nhất?
- 8. Tại sao Git tạo một cam kết hợp nhất mà không có thay đổi tập tin?
- 9. Tại sao git nhắc tôi cho một tin nhắn cam kết hợp nhất sau khi kéo?
- 10. Kết hợp xung đột Git
- 11. Tại sao git svn dcommit mất lịch sử kết hợp các cam kết cho các chi nhánh địa phương?
- 12. Tại sao Maven tải xuống maven-metadata.xml mỗi lần?
- 13. Hợp nhất Git cam kết
- 14. Tại sao trục xoay với cột "phụ" không kết hợp các kết quả
- 15. Tại sao tôi muốn làm git rebase?
- 16. Kết hợp hai nhánh TFS với git tfs
- 17. Kết hợp git log --stat với --name-status?
- 18. Tại sao: = được phép làm toán tử kết hợp?
- 19. Gia tăng Phiên bản Dự án Maven với Jenkins/Git
- 20. Tại sao biểu thức kết hợp chuỗi không biên dịch?
- 21. Tại sao LINQ không kết hợp câu lệnh này?
- 22. Tại sao bạn kết hợp $ _GET và $ _POST trong PHP?
- 23. Tại sao chức năng kết hợp R lại quá chậm?
- 24. Git: Tại sao rebase lại dẫn đến xung đột khi hợp nhất thì không?
- 25. Tại sao Git cần push được ký?
- 26. Tại sao darcs thay vì git?
- 27. Xóa cam kết hợp nhất trong Git
- 28. Mục tiêu trang web/triển khai kết hợp cho Maven
- 29. Tổ chức dự án sử dụng Maven + Git
- 30. Lỗi với git: "đã tồn tại và không phải là một git repo hợp lệ"