Tôi muốn có một kho lưu trữ git trống được lưu trữ trên một mạng chia sẻ (cửa sổ). Tôi sử dụng Linux, và có chia sẻ mạng được gắn kết với CIFS. Đồng nghiệp của tôi sử dụng windows xp, và có chia sẻ mạng tự động (từ ActiveDirectory, bằng cách nào đó) như một ổ đĩa mạng.Đồng thời trong một repo GIT trên một thư mục chia sẻ mạng
Tôi tự hỏi liệu tôi có thể sử dụng repo từ cả hai máy tính, mà không có vấn đề đồng thời.
Tôi đã thử nghiệm, và cuối cùng tôi có thể sao chép ok, nhưng tôi sợ những gì có thể xảy ra nếu cả hai chúng tôi truy cập cùng một repo (đẩy/kéo), cùng một lúc.
Trong câu hỏi thường gặp, có một tham chiếu về cách sử dụng hệ thống tệp mạng (và một số vấn đề với SMBFS), nhưng tôi không chắc liệu có bất kỳ khóa tệp nào được thực hiện bởi mạng/máy chủ/windows/linux hay không khá chắc chắn không có.
Vì vậy, có ai đã sử dụng repo git trên mạng chia sẻ, không có máy chủ và không có sự cố không?
Cảm ơn bạn,
Alex
PS: Tôi muốn tránh sử dụng một máy chủ http (hoặc git-daemon), bởi vì tôi không có quyền truy cập vào máy chủ với các cổ phiếu. Ngoài ra, tôi biết chúng tôi có thể chỉ cần đẩy/kéo từ một đến khác, nhưng chúng tôi được yêu cầu phải có mã/repo trên chia sẻ vì lý do sao lưu.
Cập nhật:
lo lắng của tôi không phải là về khả năng của một thất bại mạng. Mặc dù vậy, chúng tôi sẽ có các chi nhánh cần thiết tại địa phương, và chúng tôi sẽ có thể biên dịch các nguồn của chúng tôi.
Tuy nhiên, chúng tôi thường cam kết khá thường xuyên và cần phải rebase/merge thường xuyên. Theo quan điểm của tôi, lựa chọn tốt nhất là để có một repo trung tâm trên phần (vì vậy các bản sao lưu được đảm bảo), và chúng tôi sẽ nhân bản từ đó, và sử dụng nó để rebase.
Nhưng, do thực tế chúng tôi đang làm điều này thường xuyên, tôi sợ về tệp/repo tham nhũng, nếu điều đó xảy ra mà cả hai chúng tôi đều đẩy/kéo cùng một lúc. Thông thường, chúng tôi có thể hét lên với nhau mỗi khi chúng tôi truy cập repo từ xa :), nhưng sẽ tốt hơn nếu bảo mật máy tính/mạng. Và, có thể GIT có một cơ chế nội bộ để làm điều này (vì ai đó có thể đẩy vào một trong các bản Repos của bạn, trong khi bạn làm việc trên nó), nhưng tôi chưa tìm thấy bất cứ điều gì kết luận.
Cập nhật 2:
Các repo trên ổ đĩa cổ phiếu sẽ là một repo trần, không chứa một bản sao làm việc.
Cảm ơn câu hỏi Alex, tôi đang đối mặt với tình huống tương tự và điều này rất hữu ích. Một số điểm cần thêm: bạn cần phải shure rằng cả hai bạn đang sử dụng cùng một phiên bản của git, bởi vì các cửa sổ và linux exe sẽ làm việc trên cùng một repo trần trên mạng chia sẻ và trong lý thuyết nó là possibe để có một số sự khác biệt giữa các phiên bản . Có lẽ không chỉ là một lá cờ mà bạn cần phải ghi nhớ. –
Xem thêm: http://stackoverflow.com/questions/1489542/are-there-any-concurrency-issues-in-backing-up-git –
Có thể hữu ích khi giới hạn số lượng người dùng đồng thời thành 1 bằng cách truy cập Tùy chọn Chia sẻ Nâng cao cho thư mục – Omar