Tôi đang cố gắng tạo một kho lưu trữ git để lưu trữ tất cả các tệp dotfiles và cấu hình của tôi. Ý tưởng của tôi là chỉ cần tạo liên kết cứng đến tất cả các tệp mà tôi quan tâm và lưu trữ các liên kết đó trong thư mục riêng của chúng mà tôi có thể biến thành một kho lưu trữ.Không thể liên kết cứng Tập tin gitconfig
Tôi đã nhấn một chút mặc dù với tệp ~/.gitconfig của mình. Dường như bất cứ khi nào tôi chạy lệnh 'git config', liên kết mà tôi đã tạo không còn trỏ đến đúng vị trí, ví dụ: tệp trong kho lưu trữ không còn cập nhật đúng nữa.
Dưới đây là ví dụ sử dụng vỏ và tương tác của ruby để xác định trạng thái liên kết tệp.
# Create the link
$ ln .gitconfig .conf_files/gitconfig # Create the link
# The files are in fact linked
[1] pry(main)> File.identical?('.gitconfig', '.conf_files/gitconfig')
=> true
# Update the gitconfig file by running a 'git config' command
$ git config --global alias.last 'log -1 HEAD'
# The files are no longer linked.
[2] pry(main)> File.identical?('.gitconfig', '.conf_files/gitconfig')
=> false
Tôi cho rằng điều này có liên quan đến cách git đang ghi tệp .gitconfig. Có ai biết tại sao điều này sẽ xảy ra, hoặc có bất kỳ ý tưởng sáng tạo cho một workaround?
cấu hình git ngắt liên kết cứng. Thay vào đó, hãy sử dụng liên kết tượng trưng. –
@William Pursell Sửa tôi nếu tôi sai nhưng tôi không nghĩ git nhận ra các liên kết tượng trưng? –
Đặt tệp thực trong kho git, và sau đó đặt một liên kết tượng trưng vào nó trong $ HOME. git sẽ không bao giờ thấy liên kết mềm. –