Trong trường hợp của tôi, tôi có một chương trình phân tích các tệp đầu vào dữ liệu và tạo ra các tệp đầu ra dữ liệu khác. Tôi muốn phiên bản kiểm soát chương trình, và tôi muốn phiên bản kiểm soát các tập tin dữ liệu, và như là một vấn đề ưu tiên, tôi muốn có bản sao làm việc của các tập tin dữ liệu trong bản sao làm việc của chương trình. Tôi muốn chương trình và dữ liệu được phiên bản kiểm soát riêng biệt để giảm "tiếng ồn". Chương trình không có sự phụ thuộc vào các tệp dữ liệu.Git submodules là cách an toàn duy nhất để có bản sao làm việc trong bản sao làm việc?
Nếu tôi sử dụng git submodules, sau đó khi mọi thứ xảy ra trong thư mục dữ liệu (cập nhật cam kết tôi nghĩ), kiểm soát phiên bản cho chương trình ghi chú rằng có cập nhật với submodule. Điều này sẽ hữu ích nếu chương trình phụ thuộc vào dữ liệu nhưng không.
Trong trường hợp như vậy, có thể có một bản sao làm việc trong một bản sao làm việc khác mà không sử dụng các mô-đun con git không?
Thích nghe điều này. Có bất cứ điều gì có thể đi sai với cách tiếp cận này? Hoặc nó chỉ hoạt động? –
@ChristopherJamesCalo: Tôi không biết bất cứ điều gì có thể đi sai. Điều duy nhất tôi có thể nghĩ đến để xem là nếu bạn chạy 'git clean -f -x' trong thư mục chương trình, sau đó nó sẽ xóa toàn bộ thư mục dữ liệu ngay cả khi nó xuất hiện trong' .gitignore'. –
Âm thanh tuyệt vời. Được sử dụng này rất nhiều ngày hôm nay, và nó có vẻ hoạt động hoàn hảo. Cảm ơn! –