Tôi biết rằng có thể đặt các cấu hình per-repo ghi đè cấu hình cấp người dùng (tức là /path/to/my/repo/.gitconfig
ghi đè ~/.gitconfig
). Có thể đặt cấu hình git ghi đè cài đặt cấp người dùng cho tất cả các thư mục con của một thư mục nhất định không? Tức là tôi có
|--topLevelFolder1
|--\
| ---.gitconfig_override
|--\
| ---childFolder1
| \---[...]
|--\
| ---childFolder2
| \---[...]
Và tôi muốn các cài đặt được xác định trong .gitconfig_override
để áp dụng trongchildFolder1
và childFolder2
.
Động lực của tôi cho điều này như sau: Tôi có một máy tính xách tay làm việc và tôi cũng sử dụng trong thời gian rảnh rỗi cho các dự án cá nhân. Tất cả mã công việc của tôi được lồng trong một thư mục. Khi tôi chuyển sang repos git công việc, tôi cần làm như vậy với tính cách công việc của mình - đăng nhập công việc thay vì tên và email công việc. Khi tôi chuyển đến kho lưu trữ cá nhân (github) của riêng mình, tôi muốn làm như vậy với tên thật và email cá nhân của mình.
Các giải pháp khả thi khác mà tôi đã nghĩ đến (và các vấn đề):
- Tạo người dùng riêng biệt cho "công việc" và "giải trí", đặt cài đặt cấp người dùng của họ một cách thích hợp và đăng nhập với tư cách người dùng thích hợp khi tôi chuyển đổi ngữ cảnh (rắc rối, cộng với việc tôi có thể dễ dàng quên chuyển đổi)
- Tạo tập lệnh tìm kiếm git repo bên trong "workFolder" và thêm / cập nhật các tệp .gitconfig của chúng để chứa các chi tiết thích hợp (nếu tôi tạo repo và quên chạy tập lệnh trước khi đẩy, tôi sẽ đẩy nhầm người)
- "hack" git để mỗi khi tạo repo, nó sẽ kiểm tra đường dẫn tệp và nếu thích hợp, cập nhật tệp .gitconfig (phức tạp, lộn xộn và gần như chắc chắn là Cách làm sai - ngoài ra, tôi sẽ không có manh mối đầu tiên làm thế nào để đi về nó!)
Tôi đã kiểm tra câu hỏi này , câu hỏi này dường như chỉ chứa các giải pháp cho các repo đơn lẻ, không phải nhiều. Hy vọng sẽ có người xem câu hỏi này ai bỏ sót câu hỏi đó!
--global
Cài đặt người dùng của bạn phải chứa bất kỳ danh tính nào bạn sử dụng nhiều hơn. Mỗi kho lưu trữ sử dụng danh tính khác nên cóuser.name
vàuser.email
đặt cho phù hợp.