2008-09-24 28 views
9

Tôi đã sử dụng hệ thống kiểm soát phiên bản "truyền thống" để duy trì kho mã nguồn trên các dự án trước đây. Tôi đang bắt đầu một dự án mới với một nhóm phân phối và tôi có thể thấy được lợi thế khi sử dụng một hệ thống phân tán. Vì tôi hiểu SourceSafe, CVS và Subversion; bạn có đề xuất gì cho người mới tham gia Git?Tôi nên biết gì về Git trước khi bắt đầu sử dụng?

Trả lời

2

Trước khi thực hiện các tệp, chúng phải được thêm vào vùng dàn trang Git — mỗi lần. Để làm điều này dễ dàng hơn, có một tùy chọn -a để thêm tất cả các tệp được theo dõi, như trong git commit -a.

Ngoài ra, khi bạn làm git diff, nó chỉ cho bạn thấy sự khác biệt giữa bản sao làm việc của bạn và những gì trong khu vực dàn dựng. Nếu bạn đã thêm các tệp đã thay đổi vào khu vực dàn dựng của mình, git diff có thể không báo cáo gì dù bạn có thể có các thay đổi không được cam kết. Sử dụng git status để xem chắc chắn.

+0

... trừ khi bạn chỉ huy "git diff foo/bar.file" –

3

Thực hiện tutorial

Sau đó, vui chơi với nó. Làm một dự án đồ chơi nhỏ để có được một cảm giác cho nó trước khi bạn bắt đầu làm việc với codebase chính của bạn.

Tôi sử dụng gitk rất nhiều để xem lại các bản vá và theo dõi cách mã thay đổi từ cam kết cam kết.

-1

Tôi đã thử git trong công ty của mình. Chúng tôi đã sử dụng CVS và muốn chuyển sang công cụ VC tốt hơn. Chúng tôi đã chọn git như một công cụ tốt nhất cho các phiên bản tệp (Linus on GIT). Hiệu suất của nó chỉ là tốt nhất và nó là một công cụ thực sự tuyệt vời cho một nhà phát triển, người hiểu được điều khiển phiên bản chuyên sâu nhưng nó là một cơn ác mộng đối với một nhà phát triển thường xuyên sử dụng điều khiển phiên bản trong nền và không muốn học cách sử dụng ít hơn vài giờ (và họ cần học nhiều)

Ngoài ra, việc tích hợp với các IDE hiện tại còn rất xa để hoàn thành. Toàn bộ khả năng sử dụng là vấn đề khá lớn đối với nhà phát triển thông thường.

Sau khi thí điểm với 4 nhà phát triển, chúng tôi đã chuyển sang Subversion là đơn giản nhất mặc dù không phải là công cụ vượt trội.

Ngoài ra còn có giải pháp thương mại cho Subversion nhiều địa (mà chúng tôi đã không cố gắng nêu ra, nhưng sẽ cố gắng trong thời gian ngắn) - WANDisco

6

Theo kinh nghiệm của riêng tôi di chuyển từ Subversion để Git, điều quan trọng nhất không phải là những gì bạn cần để tìm hiểu, nhưng những gì bạn cần để bỏ học. Kiểm soát phiên bản phân phối là rất khác với Kiểm soát phiên bản tập trung. CVC là một tập con của DVC, vì vậy bạn chỉ có thể làm CVC trong một công cụ DVC, nhưng nó sẽ phức tạp hơn với một công cụ CVC.

Cố gắng không tìm hiểu CVC và tham gia tư duy DVC. Nếu bạn chỉ cần làm CVC trong một công cụ DVC, bạn sẽ chỉ bị thất vọng bởi tất cả các phức tạp thêm vào và bạn sẽ không nhận ra những gì mà thêm phức tạp là mua cho bạn về tính linh hoạt.

Tất cả các công cụ DVC có tuyệt vời và hỗ trợ rất mạnh cho phân nhánh và hợp nhất. Sử dụng nó. Tất cả lịch sử có sẵn trong tầm tay bạn. Sử dụng nó. (Ví dụ: không bao giờ nhận xét mã, chỉ cần xóa mã. Bạn luôn có thể lấy lại mã, ngay cả trên máy bay không có kết nối internet.)

Một khía cạnh rất quan trọng của Git: tất cả các công cụ khác đều có quy trình làm việc ít nhiều được xác định. Git thì không. Git là bộ công cụ xây dựng dòng công việc DVCS. Điều này làm cho đôi khi khó có thể biết phải làm gì: bạn phải thiết kế và thực hiện quy trình làm việc của riêng mình (gợi ý: sử dụng nhiều kịch bản lệnh shell). Tôi sử dụng Git hơn một năm nay và tôi vẫn chưa hoàn toàn tìm ra quy trình làm việc của mình.

Các vấn đề liên quan