Cập nhật 2012:
Xem câu trả lời của Mike Morearty :
Bao gồm
Bạn có thể bao gồm một tệp cấu hình từ một tệp khác bằng cách đặt include.path
biến đặc biệt thành tên của tệp được bao gồm.
Tệp bao gồm được mở rộng ngay lập tức, như thể nội dung của nó đã được tìm thấy tại vị trí của lệnh bao gồm.
Nếu giá trị của include.path
biến là một đường dẫn tương đối, đường dẫn được coi là tương đối với tệp cấu hình trong đó chỉ thị bao gồm được tìm thấy.
Giá trị của include.path
có thể mở rộng dấu ngã: ~/
được mở rộng thành giá trị của $HOME
và ~user/
vào thư mục chính của người dùng được chỉ định.
Tôi không nghĩ vậy.
Tôi thà đặt cài đặt đó trong ~/.gitconfig
tập tin
Tập tin cấu hình người dùng cụ thể. Cũng được gọi là tập tin cấu hình "toàn cầu".
Bằng cách đó, nó hoàn thành tệp cụ thể của dự án .gitconfig mà không được xuất bản khi được đẩy lên GitHub. Xem thêm câu trả lời SO này để biết thêm về tập tin cấu hình toàn cầu.
Git có 3 tập tin cấu hình .
bjeanes thêm vào trong các ý kiến:
có vẻ như tất cả mọi người đã bỏ lỡ điểm của câu hỏi này
David rõ ràng là muốn đẩy mạnh một repo của tất cả các file chấm của mình ( bashrc
, gemrc
, vv) BAO GỒM mình .gitconfig
để anh có thể có tất cả các thiết lập của mình trên tất cả các máy của mình.
Một cách để đẩy các phần của một .gitconfig
tệp bằng cách bao gồm và bỏ qua các mục riêng tư là những gì anh ấy (và tôi, cho vấn đề đó) là sau.
Một cách có thể là sử dụng trình điều khiển bộ lọc smudge / sạch để giải mã / mã hóa một tệp với thông tin nhạy cảm riêng tư (xem chủ đề này ), để hoàn thành một tệp cục bộ như ~ / .gitconfig với các phần được giải mã có liên quan đến điều đó tập tin.
Bằng cách đó, bạn có thể có một repo Git với tất cả các tệp chấm của mình, cộng với một tệp có thông tin được mã hóa có nghĩa là được giải mã và thêm vào các tệp chấm nói.
Trong .gitattributes
(hoặc .git/info/a..
) sử dụng:
myPrivateInfosFile filter=gpg diff=gpg
Trong tệp repo .config của bạn:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
(một giải pháp dựa trên GPG có nghĩa là, tất nhiên, bạn đã truyền đạt khóa riêng / công khai của mình bằng một phương tiện khác đến máy tính đích nơi bạn muốn khôi phục tất cả các tệp dấu chấm của mình bằng cách sao chép repo đặc biệt này)
Trên thực tế, trong trường hợp của bạn, tập lệnh smudge cần phải được hoàn thành vì sau khi giải mã tập tin đó, hãy tiếp tục và thêm các phần có liên quan vào ~/.gitconfig
tệp toàn cầu của bạn (trừ khi bạn ghi đè lên tệp cấu hình chung với một vị trí khác ) hoặc các tệp chấm khác cho điều đó vấn đề.
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread
(sự bất tiện của gpg được thảo luận thêm trong chủ đề này ) (điều này khác với việc có một repo Git được mã hóa đầy đủ, như được thảo luận ở đây )