Cách theo dõi $ HOME với git


10

Tôi muốn theo dõi thư mục $ HOME của tôi với git. Tôi đã có nhiều repo git khác trong các thư mục con khác (ví dụ: $ HOME / dự án / repo_1, v.v.), không nên theo dõi, vì chúng đã có.

Tôi đã tìm thấy git-home-history nhưng nó xuất hiện từ kho lưu trữ rằng dự án không còn được phát triển tích cực.

Cách tiếp cận nào bạn đề nghị? Là ghh đủ trưởng thành?

Tôi đang dùng Mac nhưng tôi cũng thích các giải pháp đa nền tảng.

Cảm ơn

ps: Tôi đã xem nhưng không tìm thấy bản sao, vui lòng chỉ ra nếu điều này đã được thảo luận.

Câu trả lời:


5

Tôi đã làm điều này trong một thời gian chỉ sử dụng git. Tôi không theo dõi toàn bộ thư mục nhà, chỉ là những phần mà tôi đang tích cực thay đổi. Điều này bao gồm thư mục home / bin của tôi, chứa rất nhiều tập lệnh nhỏ, thư mục .vim của tôi và một số dự án lớn hơn trong các thư mục khác. Ngoài ra, có một số cấu hình cho thiết bị đầu cuối và hộp mở, cũng như các ứng dụng khác, được thêm vào repo.

Điều này hoạt động đủ tốt vì tất cả những thứ này có cùng một quyền và tôi không quan tâm đến dấu thời gian ban đầu. Đã đến lúc tôi dự định chia một số phần tử đó thành các mô hình con bằng cách sử dụng git filter-branch. Đây là một chút khó khăn mặc dù có sự phụ thuộc lẫn nhau giữa các tệp trong các thư mục con khác nhau (ví dụ: một số tập lệnh .vim có thể gọi các tập lệnh từ thư mục bin của tôi ... không phải là một ví dụ hay nhưng hy vọng bạn có được điểm).

Tôi chưa tìm thấy giải pháp nào toàn diện hơn, nhưng cũng chưa thực sự xem xét bất kỳ giải pháp nào, kể cả lịch sử git-home. Có vẻ như sẽ khá phức tạp khi đặt toàn bộ thư mục chính dưới sự kiểm soát sửa đổi và sẽ có rất nhiều biến. Chẳng hạn, nếu bạn đặt (các) hồ sơ firefox của mình dưới sự kiểm soát sửa đổi, bạn sẽ kết thúc với số lượng lớn các chênh lệch nhị phân. Ngoài ra có những thứ như khóa ssh thường bị mất tốt hơn so với trùng lặp.

Nếu bạn muốn theo dõi các quyền (trừ bit thực thi, mà git đã theo dõi) thì rõ ràng có một cái móc sẽ làm điều đó. Nó được đề cập trong chủ đề serverfault này .


Bạn hiểu trường hợp sử dụng của tôi: thực tế tôi quan tâm đến việc tạo phiên bản cho các kịch bản và cấu hình. Tôi sẽ đi với phương pháp cơ bản này.
Francesco

FYI: Vấn đề mà tôi gặp phải trong những ngày này là tôi không muốn phân nhánh thư mục .vim của mình khi làm việc trên các thành phần mới. Tôi đang xem xét một loạt các cách tiếp cận khác nhau: có thể cuối cùng tôi sẽ chia nó thành một mô-đun riêng bằng cách sử dụng filter-branchvà thiết lập một bản sao 'công việc đang tiến hành' trong thư mục con ~. Đây có vẻ là một chiến lược hữu ích chung: Tôi hy vọng rằng nó sẽ hữu ích tương tự để sao chép toàn bộ repo thư mục nhà của tôi, sau đó kiểm tra các tập lệnh sau khi đặt $ HOME vào thư mục bản sao. Tôi không chắc chắn mức độ tôn trọng của biến môi trường đó nhưng tôi sẽ thấy.
trực giác

0

Bạn có thể sử dụng git trên thư mục chính của bạn, sau đó sử dụng các mô đun con git hoặc cây sửa đổi cho các dự án git bên ngoài mà bạn làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.