Câu trả lời ngắn ...
Đề xuất của tôi: Bắt đầu với các tài khoản công khai trên GitHub và / hoặc Bitbucket (khác?). Ném lên một vài dự án công cộng và bắt đầu sử dụng các công cụ / giao diện. Khi bạn đã cảm nhận được các dịch vụ, thì bạn nên nắm bắt được những hạn chế, ưu điểm và nhược điểm của từng dịch vụ. Từ đó, bạn sẽ có thể chọn con đường tốt nhất để giác ngộ kiểm soát phiên bản. :)
Câu trả lời dài ...
Hiện tại tôi không có bản sao lưu ngoài trang web cho hầu hết mã của mình, vì vậy, một phần trong số này, ban đầu tôi nghĩ rằng tôi sẽ tải tất cả các dự án cá nhân của mình hoặc ít nhất là tất cả các dự án iOS của tôi lên kho lưu trữ được lưu trữ trên GitHub riêng tư . Tuy nhiên, tôi có rất nhiều dự án đang ngồi xung quanh, nhiều dự án có giá trị khá thấp (nghĩa là được chuyển thể từ sách và viết cho trải nghiệm học tập).
Bạn đã xem xét việc cài đặt ứng dụng khách Git của riêng bạn chưa? Nếu bạn đã trả tiền cho việc lưu trữ web, thì có thể sử dụng máy chủ đó để thiết lập Git của riêng bạn.
Ví dụ: máy chủ lưu trữ của tôi là WebFaction (không liên kết):
Cài đặt ứng dụng web Git
Hướng tuyến đường này có thể cho phép bạn tiết kiệm một số $$$, đặc biệt. nếu bạn đã trả tiền cho việc lưu trữ.
GitHub không chỉ tính phí bởi kho lưu trữ riêng tư,
Chỉ cần làm rõ cho những người khác (một lần nữa, không liên kết kinh doanh với GitHub hoặc BitBucket):
- $ 7 / tháng. cho tối đa 5 kho riêng , không giới hạn mọi thứ khác.
- $ 12 / tháng. cho tối đa 10 kho riêng , không giới hạn mọi thứ khác.
- $ 12 / tháng. cho tối đa 20 kho riêng , không giới hạn mọi thứ khác.
Lưu ý rằng giá "Kế hoạch kinh doanh" là khác nhau.
Như Andrew đã nêu trong câu trả lời khác, Bitbucket chào hàng repos riêng không giới hạn.
- 5 người dùng: Miễn phí
- 10 người dùng: $ 10 / tháng.
- 25 người dùng: $ 25 / tháng.
- 50 người dùng: $ 50 / tháng.
- 100 người dùng: $ 100 / tháng.
- Không giới hạn $ 200 / tháng.
Dường như không có cách nào để tổ chức các kho lưu trữ theo thứ bậc.
Không chắc chắn chính xác những gì bạn có nghĩa là "phân cấp" (có thể vì tôi không quen với SVN).
Tôi không chắc điều này có giúp ích gì không, nhưng bạn có thể nhìn vào bảng so sánh này để xem các lệnh so sánh / khác nhau như thế nào:
Có thứ gì đó tôi thiếu sẽ cho phép tôi sử dụng kho git với hệ thống phân cấp và kiểm tra các phần khi tôi cần chúng / làm việc với chúng, như cách tôi hiện đang làm với SVN?
Phân nhánh?
GitHub (hoặc đối thủ cạnh tranh, như BitBucket) có một số tính năng tổ chức dự án mà tôi đang thiếu không?
Không chắc chắn nếu điều này sẽ giúp, nhưng bạn có thể xem:
Git đi kèm với các công cụ GUI tích hợp để cam kết ( git-gui ) và duyệt ( gitk ), nhưng có một số công cụ của bên thứ ba cho người dùng đang tìm kiếm trải nghiệm dành riêng cho nền tảng.
... một lần nữa, không chắc liệu có bất kỳ công cụ nào trong số đó có thể giúp bạn cảm nhận về những gì có thể không.
Để rõ ràng, tôi không chắc về cấp độ kỹ năng Git của bạn ... nếu bạn chưa quen với Git / GitHub, sử dụng GUI có thể là cách nhanh chóng / dễ dàng để bạn cảm nhận mọi thứ. Cá nhân tôi thích sử dụng ứng dụng GitHub chính thức cho các ứng dụng Mac / Windows.
Không nói rằng, "cách thức" được chấp nhận chung trong việc xử lý tình huống này (loại bỏ các dự án không nhằm phát hành, lưu trữ ngoại tuyến, kết hợp chúng lại với nhau bằng cách nào đó, v.v.)?
Nếu tôi là bạn, tôi sẽ sử dụng kho lưu trữ.
Bạn cần bao nhiêu kho riêng?
Nếu bạn muốn sử dụng GitHub, một giải pháp có thể là lấy gói rẻ nhất và sử dụng một vài repos riêng để giữ tất cả mã thử nghiệm / không công khai của bạn. Bạn chỉ có thể sử dụng cấu trúc thư mục trên main
nhánh của mình để duy trì cấu trúc phân cấp hoặc bạn có thể sử dụng nhiều nhánh để giữ mọi thứ tách biệt hơn.
Mẹo: Nếu bạn đang sử dụng phiên bản Git mới hơn, bạn có thể kéo các nhánh cụ thể bằng cách sử dụng git clone -b mybranch --single-branch git://sub.domain.com/repo.git
:
Tôi phải cảnh báo bạn, mặc dù sử dụng các nhánh để tổ chức mã (như thư mục) thực sự không phải là cách tốt nhất để làm mọi thứ (mặc dù, không có gì nói rằng bạn không thể đi theo con đường này).
( Có vẻ như câu trả lời của tôi ở đây để biết thông tin liên quan đến các chi nhánh GitHub. )
Một lần nữa, tôi nghĩ rằng nhiều repos là con đường để đi.
Bạn có thể tự hỏi nếu mã của bạn thực sự cần phải riêng tư; bạn có thể công khai với mã đã nói mà không có bất kỳ hậu quả nào không?
Đặt thư viện trên GitHub, tiếp tục lưu trữ SVN của riêng tôi cho tất cả các dự án khác, sử dụng giải pháp không phải là VCS để sao lưu ngoài trang web (blech),
Nếu bạn đi theo tuyến đường này, Dropbox (hoặc tương tự) có thể là một cách tốt để có được một số hình thức kiểm soát phiên bản và đồng bộ hóa để sao lưu ngoài trang web của bạn.
Đặt các thư viện và phần mềm tôi dự định phát hành trên GitHub (tương ứng là công khai và riêng tư), tiếp tục lưu trữ SVN của riêng tôi cho các dự án mà tôi không quan tâm nhiều và chỉ có thể xem lại để làm mới bộ nhớ của mình về cách triển khai XYZ, quyết định rằng tôi sẵn sàng viết chúng ra nếu nhà tôi nổ tung (gấp đôi),
Điều này đưa tôi trở lại câu hỏi "Bạn đã trả tiền cho việc lưu trữ chưa? Nếu vậy, bạn có thể cài đặt máy chủ Git của riêng mình"; lợi thế là, bạn có thể có tất cả mã nguồn dưới ô Git, ngay cả khi đó không phải là tất cả trên cùng một máy chủ (nghĩa là sử dụng GitHub cho các nội dung công khai mà bạn muốn thể hiện).
Đặt mọi thứ vào [GitHub và / hoặc BitBucket], đối phó với việc có một số kho lưu trữ lố bịch bằng cách tìm kiếm những gì tôi cần / duy trì một số bộ con trỏ ngoại tuyến vào tài khoản [GitHub và / hoặc BitBucket] của tôi (ba blech)
---> Xem câu trả lời ngắn của tôi ở trên. ^ ^ ^ ^ ^ ^ ^