Tôi đã vô cùng nghịch ngợm. Tôi đã phát triển một phần mềm (tôi là nhà phát triển duy nhất) trong một thời gian ngắn (O.K., đã qua một vài năm), nhưng chưa sử dụng bất kỳ loại điều khiển nguồn nào.Làm cách nào để chuyển đổi các dự án được kiểm soát nguồn không đơn giản thành một kho lưu trữ git được phiên bản?
Tôi đã giải quyết để sử dụng kiểm soát nguồn (git dường như rất có thể, vì các công cụ cửa sổ dường như đã diễn ra rất nhiều trong vài tháng qua) kể từ bây giờ. Những gì tôi có là ngày sao lưu toàn bộ thư mục của giải pháp (.NET) của tôi.
Điều tôi muốn làm là tự động sao lưu các bản sao lưu của mình trong lịch sử sửa đổi. Nó sẽ lộn xộn. Các dự án và tệp sẽ được thêm/xóa trong quá trình sử dụng giải pháp. Tôi không bận tâm về những vấn đề như những gì tôi biết được đổi tên tập tin đang được hiểu là loại bỏ một tập tin và bổ sung một mới, không liên quan.
Thông thường, vấn đề của tôi là: Tôi có các bản sao có thứ tự thời gian của một thư mục thay đổi. Nhập khẩu đầu tiên vào git là dễ dàng tôi giả định. Nhưng, sau đó tôi muốn tất cả các bản sao tiếp theo của thư mục được hợp nhất, theo thứ tự ngày, mỗi lần một mà không cần phải cam kết mọi thư mục con và tệp riêng lẻ.
Điều này có thể xảy ra hay chỉ là tôi bị phạt vì không sử dụng điều khiển nguồn từ phần mềm tắt?
Chỉnh sửa: Nếu tôi tiếp tục với phương pháp 'cam kết tất cả ảnh chụp nhanh một cách thủ công' (có ít hơn 20 ảnh chụp nhanh), có cách nào (như Esko Luontola gợi ý tôi có thể muốn) ghi đè ngày cam kết với ngày tôi có cho ảnh chụp nhanh. git commit dường như không có cờ để cho phép điều này. Có cách nào khác (tôi đang sử dụng Vista)?
Chỉnh sửa: Để trả lời cho vấn đề sử dụng ngày gốc: Bạn phải đặt biến môi trường GIT_AUTHOR_DATE và/hoặc GIT_COMMITER_DATE để ghi đè việc sử dụng ngày giờ hiện tại khi thực hiện cam kết.
Lý do có hai bộ biến (cũng có GIT_ (AUTHOR | COMMITER) _ (NAME | DATE | EMAIL)) là để phân biệt giữa, giả sử tác giả gửi email bản vá và người duy trì thực sự thực hiện các cam kết vào repo. Lưu ý nếu sử dụng phần mở rộng git trên VS: Nếu bạn đặt (export varname = "value") các biến này bằng cách sử dụng dòng lệnh 'git bash', và sau đó chuyển trở lại GUI để thực hiện cam kết, có vẻ như bỏ qua chúng. Bạn phải ở lại trên dòng lệnh và chạy 'git commit' từ đó.
Bạn có muốn có ngày thực tế trong kho lưu trữ Git không? Ít nhất họ đã làm một cái gì đó như thế khi di chuyển 20 năm lịch sử Perl vào Git: http://github.com/blog/276-perl-mirror-on-github –
Không liên quan: di chuyển lịch sử Perl vào Git được nhập từ Perforce –