2012-02-17 20 views
7

Tôi thường sao lưu máy tính xách tay của mình sang ổ cứng ngoài. Là rsyncing git repos trên giải pháp sao lưu đủ tốt hoặc có bất kỳ vấn đề với phương pháp này?Rsyncing git repo có đủ giải pháp sao lưu không?

+0

bạn có thể sử dụng một cái gì đó như bitbucket nếu bạn cần repos riêng và sử dụng như một bản sao lưu ... – three

+0

@three Tôi không tin tưởng bên thứ ba khi nói đến mã nguồn của tôi – DavidW

+0

tốt, sau đó chỉ cần rsync nó đến một địa phương ổ cứng. Hãy chắc chắn trong trường hợp hỏa hoạn mà ổ đĩa cứng bên ngoài cũng không bị phá hủy. – three

Trả lời

6

rsync là giải pháp tốt cho việc này. Có thể chạy git gcgit repack (không có bất kỳ đối số nào) trước khi thực hiện sao lưu của bạn; điều này có thể làm giảm đáng kể số lượng tệp và tăng cơ hội dữ liệu không thay đổi quá nhiều vào lần tiếp theo. Sẽ không mất bất kỳ dữ liệu nào.

Xem http://sethrobertson.github.com/GitBestPractices/#backups để ghi lại lý do tại sao thực hiện điều này với git không phải là một giải pháp tốt.

+1

Lợi thế lớn của việc sử dụng 'rsync' (hoặc' tar' hoặc bất kỳ thứ gì) so với 'git clone':' clone' không sao chép những thứ cục bộ như stashes. –

0

Tôi có một repo tôi tiếp tục lưu trữ mà tôi đẩy tới. Nếu tôi muốn làm việc ở đâu đó, tôi sao chép nó, đẩy những thay đổi trở lại khi tôi hoàn thành.

Bạn có thể rsync nó quá, nhưng tôi thấy nó dễ dàng hơn để sao chép một repo ra và sau đó sử dụng nó như là điểm dev chính của tôi. Tôi nghĩ việc sử dụng một công cụ có thể dễ dàng hơn, nhưng số dặm của bạn có thể thay đổi.

+0

Anh ấy hỏi về việc tạo một bản sao lưu, không làm việc với repo !? –

2

rsync thú vị nếu bạn thực sự muốn sao lưu mọi thứ (bao gồm cả móc và tệp riêng tư).
Tuy nhiên:

  • nó không đảm bảo tính toàn vẹn của repo của bạn một lần sync'ed (tức là git vẫn làm việc kể từ repo rsync'ed?)
  • nó có một xác suất cao hơn dữ liệu tham nhũng (bạn phải tiết kiệm nhiều tác phẩm nhiều)

một đẹp hơn (và sạch) giải pháp sẽ được sử dụng git bundle (mà thực chất là một repo thanh se vi là một tệp).
Bạn cập nhật gói địa phương của mình và lưu rsync vào bộ nhớ từ xa.
Ngoại trừ việc đó, lần này, bạn chỉ "rsync" (thực ra là một bản sao đơn giản là đủ) một tệp.
Và bạn có thể trực tiếp sao chép hoặc kéo từ một tệp đó, gói đó.

+0

Có, git hoạt động tốt trên "bản sao thủ công" của repos. – ignis

+0

Một tệp?!? Đó sẽ là một tệp HUGE để chuyển hàng ngày !!! –

+1

@Thêm gói có thể tăng dần: đó vẫn là một tệp nhưng nhỏ hơn nhiều. – VonC

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