2012-07-30 42 views
27

Tôi đang đẩy một tệp lớn vào git, nhưng có kết nối rất chậm. Cách an toàn nhất để chấm dứt sự thúc đẩy này (giữa lần đẩy) là gì và tiếp tục nó khi tôi có kết nối tốt hơn?Git: Dừng git push

Trả lời

42

Giết máy khách (Ctrl + C hoặc bất kỳ phương pháp nào khác) sẽ không làm cho dữ liệu trên máy chủ bị hỏng, nếu đó là ý bạn là "an toàn". Các máy chủ không cập nhật bất cứ điều gì cho đến khi tất cả các đốm màu được chuyển thành công, sau đó nó cập nhật các refs để trỏ đến các đốm màu mới.

Git không có bất kỳ phương tiện nào để tiếp tục quá trình chuyển bị gián đoạn, vì vậy bạn có thể phải chuyển lại blob lớn khi bạn có kết nối nhanh hơn.

12

Tôi tin rằng git push là nguyên tử, có nghĩa là nếu bạn chỉ cần Ctrl-C trong hoạt động, kho lưu trữ từ xa sẽ ở trạng thái ban đầu, trước khi nhấn. Điều này cũng có nghĩa là, khi bạn đẩy lại, nó sẽ bắt đầu lại từ đầu. Nhưng nó không có vẻ như đó là nhất thiết phải là một vấn đề cho bạn.