2011-12-25 33 views
5

Tôi có một dự án cá nhân sử dụng git mà tôi thường xuyên hack trên nhiều máy tính, được lưu trữ trên Github. Kể từ khi tôi làm việc này ở nhà tôi có xu hướng bị gián đoạn khá thường xuyên. Tôi sẽ ở giữa một tuyên bố, và bữa tối sẽ sẵn sàng hoặc tôi cần phải thay tã. Và khi tôi quay lại viết mã, tôi có thể đang ở trên một máy tính khác. Cách tốt nhất để có được phiên bản cập nhật nhất?Nhanh chóng đồng bộ hóa không gian làm việc git trên các máy tính

Tôi nghĩ câu trả lời chính thống nhất sẽ là cam kết và đẩy. Tôi cam kết khá thường xuyên nhưng cam kết ở đây có vẻ lộn xộn với tôi. Mã có thể ở trong tình trạng hoàn toàn tan vỡ nơi tôi đang ở giữa một ý nghĩ. Để cam kết và xuất bản nó, ngay cả trên một nhánh chủ đề, dường như không đúng với tôi. Nó cũng nhiều bước hơn tôi thích.

Cho đến bây giờ tôi đã sử dụng DropBox. Nhưng điều này dường như đã dẫn tôi đến một chỉ số tham nhũng. Nó không khó để tưởng tượng bởi vì những đồng bộ có thể được trên các phiên bản khác nhau của git và hệ điều hành khác nhau. Vì vậy, tôi sợ điều này.

Có ai có giải pháp thay thế tốt hơn không?

+0

Có thể thiết lập gitolite ở nhà, như là một bổ sung cho github? – fge

+1

Tôi chỉ cần đẩy nó vào nhánh tạm thời đó - bạn luôn có thể xóa nhánh từ GitHub lại sau khi bạn đã dọn dẹp mọi thứ. Không có điểm trong những điều quá mức :) –

+0

Nếu bạn đã làm gợi ý của @ StuartGolodetz, tôi khuyên bạn nên đặt tên cho nhánh của bạn một cái gì đó như don't_clone_temp_feature_name, chỉ để giảm thiểu khả năng ai đó lấy nhánh tạm thời của bạn. – wadesworld

Trả lời

0

Một giải pháp là sử dụng máy chủ riêng. Hoặc trả tiền cho một tài khoản vi mô GitHub, hoặc chỉ sử dụng một số máy chủ mà bạn đã có quyền truy cập. Sau đó, bạn sẽ cam kết và đẩy tới máy chủ riêng. Khi mã đã sẵn sàng, bạn sẽ đẩy tới máy chủ công cộng sau khi bẻ khóa/dọn dẹp các cam kết, v.v.

1

Một cách khác để sử dụng Git để giữ đồng bộ hóa mã hóa giữa các máy tính là giữ mã thực sự trên tài khoản đăng của bạn. Về cơ bản, nó chỉ là một thư mục cục bộ được đồng bộ hóa, do đó bất kỳ máy tính nào bạn đang sử dụng (miễn là bạn đã lưu công việc hiện tại của bạn) nó sẽ được đồng bộ hóa cho bạn. Nó tiết kiệm các bước đẩy và kéo đến một repo git trên dropbox.

+0

Vâng đây là những gì tôi đã đã làm, nhưng gần đây đã kết thúc với một chỉ số tham nhũng. Không chắc nó đã xảy ra như thế nào. – mmalone

+0

@mmalone Không, tôi không có nghĩa là giữ một kho lưu trữ Git trên Dropbox, nhưng các tệp dự án thực tế của bạn. – Abizern

+1

@abizem Xin lỗi, có thể tôi đang thiếu sự phân biệt của bạn. Tôi đang nói về thư mục với thư mục làm việc của tôi với mã, cũng sẽ bao gồm thư mục '.git' và chỉ mục bên trong thư mục đó. Bạn đang nghĩ về điều gì đó khác biệt? – mmalone

0

Tôi khuyên bạn nên viết một tập lệnh nhỏ để rsync các thư mục cần thiết cho tất cả các máy được chỉ định. Nên rất đơn giản và có thể được bí danh vì vậy nó chỉ là một lớp lót từ thiết bị đầu cuối. Ở nơi tôi làm việc, tôi thường làm điều này, dev trên máy địa phương bằng cách sử dụng vhost để kiểm tra nhưng khi tôi cần thử nghiệm trên thiết bị di động, tôi có thể rsync mọi thứ vào máy chủ công cộng và sử dụng vhost ở đó từ thiết bị di động.

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