Trên Windows 7 (có thể giống hoặc tương tự đối với Windows 10), đối với Visual Studio và dòng lệnh Git, cấu hình chung của bạn nằm trong:
%USERPROFILE%\.gitconfig
(dấu chấm ở phía trước tên tệp)
Nhưng điều này không được Sourcetree tôn trọng, ít nhất là ở chế độ Nhúng Git và cấu hình ở:
%USERPROFILE%\AppData\Local\Atlassian\SourceTree\git_local\mingw32\etc\gitconfig
(không có dấu chấm phía trước tên tệp)
(Tôi cần cập nhật cả hai tệp để sửa đổi cài đặt Git chung của mình cho lệnh Git và Sourcetree.)
Một phần thú vị khác. Cấu hình Git hooks đã hoạt động từ AppData\Local\...
vị trí, nhưng sau khi nghiên cứu thêm thông qua Process Monitor , tôi nhận thấy bằng cách nào đó Sourcetree cũng đang tải toàn cầu từ ổ đĩa được ánh xạ của công ty cho người dùng của tôi.
Điều này rất có ý nghĩa vì rất ít ứng dụng tra cứu vị trí này, nhưng bằng cách nào đó Sourcetree lại làm được, vì vậy nếu bạn không thể làm cho nó hoạt động theo cài đặt vị trí tại Sourcetree, hãy chạy Process Monitor và tạo quy tắc chỉ ghi lại đường dẫn chứa gitconfig, còn bạn có thể tìm thấy thực sự cấu hình chung của bạn ở đâu trong trường hợp thư mục người dùng được ánh xạ mạng.
Và đây có thể không phải là lỗi của Sourcetree, vì tôi thấy bây giờ khi tôi viết cái này rằng git.exe đang tải cái đó, nhưng điều này chỉ xảy ra đối với git.exe được thực thi bởi Sourcetree, trong khi dòng lệnh trực tiếp Git sử dụng %USERPROFILE%\.gitconfig
Cuối cùng, tôi lấy tất cả kết quả từ Process Monitor, đưa nó vào SQL Server và chạy một truy vấn để nhận được các kết quả khác biệt (không có thứ tự thực thi cụ thể nào chỉ được sắp xếp theo đường dẫn):
Tôi không biết các cấu hình đó liên quan với nhau như thế nào, nhưng tôi biết một số ghi đè một số cài đặt khác hoạt động từ một vị trí một số cài đặt khác.
Và danh sách trên được gọi bởi Sourcetree , một lần nữa hướng một dòng lệnh với Git dường như hoạt động tốt %USERPROFILE%\.gitconfig
và điều đó không có trong danh sách này, nhưng nó sẽ giống như thế này (trên Windows 7)C:\Users\pawel.cioch\.gitconfig
git config --list --show-origin
, bạn sẽ không phải đoán cấu hình git ở đâu. Xem câu trả lời của tôi bên dưới