Làm cách nào để đặt nhiều `core.excludesfile` trong` .gitconfig`?


13

Tôi đang đồng bộ hóa ~/.gitconfig~/.gitignorecác tệp trong ubfox và Mac bằng cách sử dụng dropbox và tạo symlink cho nó.

excludesfileđược tuyên bố như thế này.

[core]
        editor = /usr/bin/vim
        excludesfile = /Users/username/.gitignore

Vấn đề là thư mục nhà khác với os, do đó tôi cần nhiều cài đặt để loại trừ.

Có thể định nghĩa nhiều core.excludesfile?

Câu trả lời:


16

Bạn chỉ có thể có một core.excludesfile; cài đặt cuối cùng là cài đặt được sử dụng. Tuy nhiên, bạn không cần nhiều tệp: git hỗ trợ ~dưới dạng viết tắt cho thư mục chính của bạn.

[core]
    excludesfile = ~/.gitignore

Nói chung, nếu bạn thực sự cần có nhiều tệp loại trừ, giải pháp đơn giản nhất là tạo một tệp duy nhất là nối các tệp khác và cập nhật tệp bất cứ khi nào một trong các tệp thay đổi.


My .gitconfigthực sự được kiểm soát phiên bản bởi git. Thật không may, git mở rộng ~để trở thành đường dẫn đầy đủ $HOMEvà cập nhật .gitconfigchính nó với đường dẫn tuyệt đối. Hành vi đó là tốt, nhưng sau đó nó hiển thị như là một thay đổi chưa được thực hiện, vì vậy tôi sử dụng git update-index --assume-unchanged .gitconfigđể bỏ qua việc mở rộng (cùng với phần còn lại của tệp).
Dolph

2
@Dolph status-norepro Bạn đã làm gì ~để được mở rộng? Tôi nhận được: git config --global core.excludesfile '~/.gitignore'; git config --global core.excludesfile~/.gitignore(git 1.7.9.5)
Gilles 'SO- ngừng trở thành ác quỷ'

1
@Dolph Rất có thể đây là một bản mở rộng shell; Rốt cuộc, nếu bạn làm git config --global core.excludesfile ~/.gitignorethì những gì thực sự chạy là git config --global core.excludesfile /path/to/home/.gitignore.
Radon Rosborough

1
@Gilles, cũng lưu ý rằng trên mỗi git-scm , tệp ~/.config/git/ignorenếu nó tồn tại sẽ tự động bị bỏ qua trên toàn cầu, không cần cấu hình toàn cầu.
Acumenus
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.