Tại sao tôi nên đẩy nếu tôi làm việc một mình trong kho lưu trữ cục bộ?


21

Tôi đang tương tác với Git thông qua GitHub cho Windows , điều này thật buồn cười vì tôi sẽ không bao giờ đẩy kho lưu trữ của mình lên GitHub. Tôi đang làm việc một mình và nó chỉ được sử dụng cho tôi. Tôi nhận thấy rằng các cam kết của tôi được liệt kê trong "các cam kết không được đồng bộ hóa" và trong "lịch sử", nó nói "không cam kết". Điều này đưa tôi đến câu hỏi, tôi sẽ đạt được gì bằng cách đẩy ngoại trừ các cam kết của tôi được liệt kê trong "lịch sử"?


14
Có một sự thiếu hiểu biết đáng kể trong câu hỏi đáng để chỉ ra: nếu bạn không đẩy bất cứ thứ gì từ xa, tất cả công việc của bạn đều nằm trong kho lưu trữ trên đĩa cục bộ. Mất máy, mất mọi thứ bạn từng làm.
Lars Viklund

Câu trả lời:


40

Bạn đúng về mặt kỹ thuật - không cần phải thực sự thúc đẩy nếu bạn không chia sẻ mã với bất kỳ ai.

Sau đó, một lần nữa, máy tính xách tay của bạn có một ổ cứng được thực hiện bởi người trả giá thấp nhất. Ngôi nhà của bạn có thể bị cháy trước khi ổ cứng bị hỏng. Bạn có thể muốn xem mã của bạn từ xa. Hoặc thậm chí chia sẻ nó với ai đó.

Giờ đây, với Github, họ yêu cầu mọi thứ phải công khai hoặc bạn cần trả tiền cho các kho riêng. Vì vậy, nếu bạn muốn giữ nó cho riêng mình, bạn có thể muốn kiểm tra bitbucket sẽ cho phép bạn thực hiện git nhưng cũng có tính năng repos riêng miễn phí.

Một tùy chọn khác là lưu kho git của bạn ở đâu đó được sao lưu từ xa. Nhưng có một vài lợi thế khi làm điều này thay vì chỉ sử dụng nhà cung cấp SCM trên đám mây hiện nay.


BitBucket cung cấp miễn phí số lượng repos riêng không giới hạn .

Có rất nhiều lý do để thúc đẩy. Quy trình làm việc thực sự không thay đổi quá nhiều. Bạn làm việc cam kết, cam kết, cam kết, hoàn thành một quy trình công việc và đẩy ...
Rig

7

Có một lý do khác mà bạn muốn chuyển sang repo (ngay cả khi đó, bằng cách này hay cách khác, địa phương): máy trạm .

Tôi không biết về bạn, nhưng tôi làm việc ở 4 máy tính khác nhau (1 PC tại nhà, 1 Máy tính xách tay, 1 Máy tính văn phòng và 1 Máy tính xách tay văn phòng) và đẩy các thay đổi sang máy chủ Git được thiết lập đúng cách trong máy chủ của công ty tôi giúp đồng bộ hóa nhanh chóng và không đau Vì Git là một DVCS, nên sử dụng lợi thế đó: không chỉ sao lưu, mà tất cả các cơ sở mã khác nhau mà tôi đang làm việc có thể dễ dàng hợp nhất, kiểm tra và phân tích.

Nó có thể là cục bộ nếu, ví dụ, PC tại nhà của bạn là "máy chủ" (hoặc nguồn gốc) và bạn có một máy tính xách tay gia đình - theo cách đó bạn có thể dễ dàng giữ đồng bộ hóa.

Sidenote : Mọi người thường nói "Tôi muốn sử dụng Dropbox (hoặc bất kỳ dịch vụ đồng bộ hóa nào khác)". Số lượng lớn các đối tượng mà một repo Git đã khiến cho việc sử dụng Dropbox như thế thật lố bịch. Đó là một lựa chọn, nhưng tôi sẽ không nói là một lựa chọn tốt.


+1, tôi chắc chắn sẽ làm như vậy trong trường hợp của bạn. Bạn sẽ làm gì nếu bạn quên đẩy ở nhà và bây giờ đang ở nơi làm việc?
Moshe Revah

2
@Zippoxer Tập trung vào một nhiệm vụ khác và hợp nhất sau này.
bytebuster

Chính xác, những gì @bytebuster nói. Đó là vẻ đẹp của DVCS! (Mặc dù, với thực hành đủ, bạn sẽ không quên nữa!)
AeroCross

Ngoài ra: Làm việc trên một dự án phụ / sở thích để thư giãn hoặc khám phá những ý tưởng mới, v.v .:-)
johannes

6

Là một SCM phân tán, git phân biệt giữa các khái niệm 'tạo ảnh chụp nhanh của bản sao làm việc' (cam kết) và 'kho lưu trữ đồng bộ hóa' (đẩy / kéo / tìm nạp).

Nếu bạn chỉ có một bản sao cục bộ của kho lưu trữ của mình, thì nó không có ý nghĩa gì để đẩy. Tuy nhiên, với github, bạn làm có một bản sao (phần trên github), và đẩy những thay đổi của bạn có có ít nhất một lợi thế: sao lưu. Nếu máy tính của bạn chết, bạn vẫn có mọi thứ được đẩy cho đến nay trên github.

Tất nhiên, đó không phải là mục đích chính của github; github được dùng để chia sẻ mã, vì vậy nếu dự án của bạn nằm trên github, bạn có thể cho phép người khác lấy từ đó, sao chép dự án của bạn, thực hiện các yêu cầu kéo từ bản sao của họ hoặc thậm chí cho người khác tin cậy đẩy quyền truy cập vào kho lưu trữ của bạn.

Một lý do khác để thúc đẩy là nếu bạn sử dụng một số bản sao địa phương. Điều này có thể hữu ích cho nhiều thứ khác nhau: ví dụ: bạn có thể muốn làm việc trên hai nhánh khác nhau cùng một lúc hoặc bạn có thể muốn thử các hoạt động có thể phá hủy trên kho lưu trữ của mình; nếu tất cả đều hoạt động như dự định, bạn giữ bản sao đã sửa đổi (hoặc đẩy các thay đổi của bạn trở lại bản gốc), nhưng nếu mọi thứ đi về phía nam, bạn có thể xóa bản sao đã bị rối và quay lại bản gốc (vẫn không thay đổi) .

Một số người thậm chí sử dụng git để triển khai: phiên bản sản xuất cũng là git repo và cập nhật lên phiên bản mới hơn là vấn đề tìm nạp và kiểm tra (rõ ràng, điều này chỉ hoạt động nếu bạn không cần bước xây dựng). Tôi không nhất thiết phải giới thiệu nó cho những thứ nghiêm trọng, nhưng đối với những việc nhỏ thì đó là một giải pháp đơn giản và thực dụng.

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.