Tôi muốn đồng bộ hóa một thư mục chứa repo git của các dấu chấm của tôi trên hai máy. Cả hai máy sẽ thay đổi các tập tin trong repo. Thông thường, tôi sử dụng unison để đồng bộ hóa các thư mục nhưng trong trường hợp này các tệp trong thư mục .git
phân kỳ ngay cả khi nội dung thư mục có vẻ bề ngoài giống nhau. Unison ném tay lên và bỏ đi khi thấy nó.Thư mục đồng bộ chứa kho git với unison
$ unison dotfiles
changed <-?-> changed .git/FETCH_HEAD
changed <-?-> changed .git/ORIG_HEAD
changed <-?-> changed .git/index
changed <-?-> changed .git/logs/HEAD
changed <-?-> changed .git/logs/refs/heads/master
changed <-?-> changed .git/logs/refs/remotes/origin/master
Một byte-by-byte đồng bộ ở đây không hoạt động bởi vì ngay cả với các tập tin tương tự và tiểu bang git git các tập tin nội bộ có thể khác nhau. Làm thế nào tôi có thể đồng bộ các thư mục này? Sau khi đồng bộ, tất cả các tệp không phải git và trạng thái git phải giống hệt nhau trên hai máy. Theo trạng thái git, tôi có nghĩa là cam kết lịch sử và dàn dựng nhưng không nhất thiết phải mỗi byte của mọi tệp git nội bộ (ví dụ: .gitignore, .git). Tôi không biết đủ về git để đi vào chi tiết hơn về những gì tôi có ý nghĩa bởi điều đó, nhưng nếu đó là không rõ ràng chỉ bình luận.
Tôi không muốn thực hiện bất kỳ cam kết git nào trong quá trình đồng bộ hóa. Tôi thấy điều khiển phiên bản và đồng bộ hóa dưới dạng hai vấn đề riêng biệt ở đây.
Đặt các từ git và đồng bộ hóa vào google cho kết quả mô tả cách sao chép một repo. Chỉ cần rõ ràng, không có cách nào trong việc sử dụng "đồng bộ hóa" ở trên đang đề cập đến các hành động git.
Bạn có nói rằng toàn bộ nội dung không phải là không thể đồng bộ hóa trực tiếp? – Praxeolitic
@Praxeolitic không phải với git repo anyway. Git không có nghĩa là không được đồng bộ hóa trực tiếp, nhưng đã được sử dụng để quản lý các dấu chấm. – VonC
Tôi nên làm rõ điều này ban đầu nhưng là đồng bộ hóa trực tiếp một repo git và tất cả các trạng thái git trên máy vốn không thể như bây giờ?Bằng cách đó, tôi có nghĩa là làm một cái gì đó về git làm cho rằng nhiệm vụ chính nó không nhạy cảm hoặc làm các giải pháp thỏa đáng chỉ không tồn tại? Cảm ơn. – Praxeolitic