Trong công ty của tôi, chúng tôi có một máy chủ lật đổ và tất cả mọi người đang sử dụng subversion trên máy của họ. Tuy nhiên tôi muốn sử dụng git, cam kết thay đổi cục bộ và sau đó "đẩy" chúng khi tôi sẵn sàng.Là git svn dcommit atomic?
Tuy nhiên, tôi không thể hiểu điều gì xảy ra trong trường hợp sau. Hãy nói rằng tôi đã thực hiện 3 git cam kết tại địa phương và bây giờ tôi đã sẵn sàng để "đẩy" tất cả mọi thứ trên máy chủ lật đổ. Nếu tôi hiểu chính xác, git svn dcommit
về cơ bản sẽ thực hiện 3 lần commit trên máy chủ, đúng không? Nhưng điều gì sẽ xảy ra nếu trong thời gian chờ đợi (hãy nói giữa cam kết thứ hai và thứ ba) một đồng nghiệp khác của tôi đưa ra một cam kết? Các kịch bản tôi có thể nghĩ đến là:
1) git loại "ổ khóa" (là ngay cả có thể) máy chủ lật đổ trong cam kết để cam kết của tôi đang làm nguyên tử và một đồng nghiệp của tôi được thực hiện sau khi tôi
?2) Lịch sử cam kết trên máy chủ trở thành mine1-mine2-other-mine3 (ngay cả khi 'khác' sẽ bị lỗi vì đồng nghiệp của tôi không có bản sao làm việc được cập nhật tại thời điểm đó).
Tôi nghĩ rằng đó là # 2, nhưng có lẽ tốc độ cam kết quá cao khiến điều này hiếm khi trở thành vấn đề. Vậy cái nào là, # 1 hoặC# 2?
không nếu không thành công. Nhưng tôi không biết. (+1) –