Sử dụng một số loại kiểm soát phiên bản khi làm việc một mình và với các dự án nhỏ?


30

Rất thường xuyên tôi chỉ làm việc cho các dự án nhỏ. Tôi đang làm việc trên một máy, nhưng gần đây tôi đã nghĩ đến việc sử dụng một số loại kiểm soát phiên bản. Điều này sẽ có một số lợi ích như ví dụ:

  • Tôi không phải quan tâm nữa để sao lưu cục bộ
  • Những sai lầm có thể dễ dàng hoàn tác
  • Lịch sử có thể được duy trì

Nhưng mặt khác, nó cũng có một số nhược điểm như:

  • Tài nguyên bổ sung cần thiết
  • Thời gian để thiết lập, làm quen với nó, vv

Từ kinh nghiệm của bạn, nó có phải là một điều tốt để sử dụng kiểm soát sửa đổi khi bạn làm việc một mình?


Hai xu của tôi: Tôi sử dụng Mercurial và NetBeans và phần có giá trị nhất của VCS tôi sử dụng (Mercurial) là có thể thay đổi, xem qua các thay đổi và xóa chúng (cam kết) (các tệp tại một thời điểm hoặc toàn bộ dự án) lúc rảnh rỗi (NetBeans có một khác biệt đồ họa hoạt động với Mercurial) Nó giúp tôi kiểm soát những gì tôi vừa làm. Công ty chúng tôi có một lịch sử và hệ thống sao lưu khác nhau nên tôi thường không sử dụng nó cho mục đích đó.
Trường Bryan

Câu trả lời:


46

Vâng.

Tất cả chỉ cần một lỗi và bạn sẽ tự đá mình vì nó. Bạn cũng có thể chọn hệ thống kiểm soát phiên bản (VCS) nào được sử dụng. Nếu có bất kỳ khả năng nào bạn sẽ làm việc trong một nhóm phát triển trong tương lai, đây là thời điểm tuyệt vời để bạn có kinh nghiệm thực hành với một VCS. SVN và Git (hoặc Mercurial) sẽ là điểm khởi đầu tuyệt vời và chỉ mất vài giờ để nắm bắt các lệnh cơ bản trong mỗi VCS.

Bây giờ để gỡ lỗi những điểm tiêu cực ...

1) Tài nguyên bổ sung cần thiết

Tài nguyên duy nhất cần có là không gian đĩa. Vì đây là một tỷ lệ nhỏ (nhỏ hơn Git so với X ) trong tổng số mã của bạn, tôi không nghĩ rằng đây sẽ là một vấn đề. Nó cũng không tốn bất kỳ khoản tiền nào.

2) Thời gian để thiết lập, làm quen với nó, vv

Sẽ có thời gian cần thiết để tìm hiểu nó, nhưng nó chỉ là một vài giờ cho mỗi trong số này (như đã đề cập ở trên). Về lâu dài, nó có khả năng giúp bạn tiết kiệm một lượng thời gian vô hạn (và hơn thế nữa). Khi bạn đã nắm vững các kiến ​​thức cơ bản về một VCS, nó sẽ ít khó khăn hơn nhiều so với việc thực hiện sao lưu cục bộ mà bạn có trong đầu.


5
+1: Điểm rất tốt. Tuy nhiên, tôi không khuyến nghị svn: đôi khi nó không cho phép một người thực hiện các thay đổi khi không được kết nối với internet, điều này có thể là một hạn chế mạnh mẽ, đôi khi. Tôi muốn giới thiệu Git (cho người dùng quyền lực) hoặc Mercurial (cho hệ thống đơn giản hơn).
Eric O Lebigot

7
Một phiếu bầu khác cho Mercurial.
Chris Holmes

4
@EOL, SubVersion là khả thi trong trường hợp này. Nếu kho lưu trữ là cục bộ thì không cần kết nối internet để thực hiện cam kết. (Mặc dù tôi muốn đề xuất kho lưu trữ ít nhất phải trên một ổ đĩa riêng biệt từ ổ đĩa phát triển.)
Ken Henderson

1
@EOL: À đúng rồi, tôi quên bao gồm Mercurial vì tôi chưa từng sử dụng nó trước đây; sẽ chỉnh sửa ngay bây giờ. Mặc dù (sau khi sử dụng Git) tôi sẽ không chạm vào SVN nếu phải, SVN vẫn được sử dụng rộng rãi.
Jonathan Khoo

1
@ken svn với repo cục bộ trong dropbox là lý tưởng cho một người dùng
Martin Beckett

13

Vâng. Sử dụng nó cho tất cả mọi thứ. Sử dụng nó cho mọi tài liệu bạn viết trong Word. Sử dụng nó cho tất cả các mã bạn viết. Sử dụng nó cho mọi hình ảnh bạn tạo ra.

Ngoài ra, một khi bạn học cách sử dụng nó, bạn sẽ tốt hơn khi làm việc trong môi trường nhóm.


4
Vấn đề duy nhất với Word là nó ở định dạng nhị phân, vì vậy bạn không thể thực hiện diff; một lý do khác để sử dụng LaTeX.
gablin

Điều gì sẽ là điểm của việc sử dụng nó với hình ảnh?
Rook

ví dụ: WinMerge có thể tìm các tài liệu Word và Excel
Simon

2
@Rook: điểm quan trọng của việc sử dụng nó với hình ảnh là nếu bạn chỉnh sửa một hình ảnh, bạn luôn có thể quay lại phiên bản cũ nếu bạn cần.
Alex D

9

Tôi thích sử dụng Git khi làm việc một mình. Ví dụ, khi làm việc trong PHP, tôi chỉ tạo một kho lưu trữ Git trên thư mục cục bộ mà Apache đang phục vụ. Tôi có thể dễ dàng bắt đầu làm việc trên một tính năng mới (trong một chi nhánh) và thử nghiệm nó trên máy cục bộ của mình. Sau đó, nếu có thứ gì đó xuất hiện và tôi cần thực hiện một "sửa chữa khẩn cấp", thì đơn giản là:

git checkout master

Voila! Thư mục làm việc của tôi trở lại trạng thái trước chi nhánh của tôi. Tôi có thể sửa chữa nhanh chóng. Khi tôi hoàn thành, tôi có thể chuyển trở lại chi nhánh và tiếp tục phát triển.

Đường cong học tập không quá dốc và có rất nhiều thông tin trực tuyến để giúp bạn bắt đầu. Đào sâu vào nó Nó đáng giá.


Git cùng với GitHub hoặc Gist là những nỗ lực đáng giá cho các dự án solo. Họ bảo vệ bạn khỏi chính bạn và giúp bạn thực sự dễ dàng nhận được sự giúp đỡ khi bạn sẵn sàng cho người khác tham gia.
Rob Allen

5

Thay đổi cung cấp cho bạn một nơi tốt để ghi lại các thay đổi của bạn, mà không làm lộn xộn nguồn.


2

Đi cho một cái gì đó được lưu trữ như SourceRepo. Không quá tốn kém, nhưng sử dụng kiểm soát nguồn khiến việc hoàn tác các lỗi và hoàn nguyên mã trở nên dễ dàng hơn nhiều.

Và bạn có thể truy cập nó bất cứ nơi nào nếu bạn cần.


4
bạn có thể muốn cẩn thận về việc tải tài sản của công ty lên các máy chủ bên ngoài. nó có thể ổn với một số công ty, nhưng những người khác sẽ nhăn mặt với nó.
davidhaskins

1
Điểm tốt để xem ra cho. Người gửi đã nói các dự án cho chính mình, vì vậy tôi cho rằng nó là dành cho sử dụng cá nhân, nhưng chắc chắn đảm bảo các nhà quản lý dòng nhận thức được hệ thống mà bạn quyết định sử dụng (đặc biệt nếu chúng là Cloud-phobic).
James Love

2

Tôi luôn sử dụng git cho sự phát triển của mình, cho đến khi tôi nhận ra mình cũng có thể sử dụng nó cho những thứ khác. Vì vậy, hãy thử git, nó cung cấp cho bạn một kho lưu trữ thực sự, không cần máy chủ và kết nối liên tục (đó là một điểm cộng lớn cho tôi); nó không truyền bá các thư mục con của dự án của bạn với các tệp và thư mục ẩn, thay vào đó chỉ có một thư mục ở đầu dự án; bạn có thể ném nó mọi thứ và sao chép bất cứ thứ gì bạn muốn và hợp nhất chúng lại, nó chỉ hoạt động.


2

Nếu bạn đang tìm kiếm miễn phí và hỗ trợ cho nguồn đóng, tôi sẽ xem xét kỹ về Visual Studio Online. Nó miễn phí cho tối đa 5 nhà phát triển và ở một mình ... tốt ... vâng. Đây là một bài đăng 4 năm sau nên tình hình của bạn có thể đã thay đổi, nhưng đối với các nhà phát triển cá nhân khác đang tìm kiếm kiểm soát nguồn dễ dàng thì VSO là một trong những lựa chọn yêu thích của tôi nếu tôi không muốn tiết lộ mã nguồn của mình. IIRC Github chỉ miễn phí cho các công cụ nguồn mở, nhưng giá của chúng rất rẻ. Cả VSO và Github đều tích hợp rất tốt với Visual Studio, nếu điều đó xảy ra là IDE bạn chọn.


Và VSO hỗ trợ Git ngay bây giờ! Tạm biệt TFVC cũ vụng về!
RubberDuck

1

Tôi luôn thiết lập kiểm soát nguồn cho các dự án của riêng mình, với môi trường tích hợp liên tục cũng như để xây dựng / chạy kiểm tra đơn vị kiểm tra / chạy kiểm tra tích hợp mỗi khi tôi đăng nhập. Ngoài ra, nếu là ứng dụng web hoặc dịch vụ windows tôi có triển khai mục tiêu cũng. Tôi đã tiết kiệm cho mình vô số giờ để gỡ lỗi và triển khai bằng phương pháp này và không là gì so với việc thiết lập ban đầu.


1

Một tính năng khác thực sự thú vị về repos là bạn có thể thực hiện các thử nghiệm / tính năng thực sự rủi ro trong một chi nhánh khác. Nếu nó hoạt động thì bạn có thể hợp nhất như là một phần của mã chính của bạn. Nếu nó không hoặc bạn hết thời gian, thì bạn có thể từ bỏ nó (đã lưu) và quay lại mã chính của mình với tùy chọn quay lại mã này sau mà không làm hỏng cơ sở mã chính của bạn.

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.