ใน Windows 7 (อาจจะเหมือนกันหรือคล้ายกันสำหรับ Windows 10) สำหรับ Visual Studio และบรรทัดคำสั่ง Git การกำหนดค่าส่วนกลางของคุณจะอยู่ใน:
%USERPROFILE%\.gitconfig
(จุดอยู่หน้าชื่อไฟล์)
แต่สิ่งนี้ไม่ได้รับเกียรติจาก Sourcetree อย่างน้อยก็ในโหมด Git Embedded และการกำหนดค่าอยู่ใน:
%USERPROFILE%\AppData\Local\Atlassian\SourceTree\git_local\mingw32\etc\gitconfig
(ไม่มีจุดหน้าชื่อไฟล์)
(ฉันต้องการอัปเดตทั้งสองไฟล์เพื่อแก้ไขการตั้งค่า Git ส่วนกลางสำหรับคำสั่ง Git และ Sourcetree)
อีกส่วนที่สนุก การกำหนดค่า Git hooks ทำงานจากAppData\Local\...
ตำแหน่งที่ตั้ง แต่หลังจากการวิจัยเพิ่มเติมผ่านProcess Monitorฉันสังเกตเห็นว่า Sourcetree กำลังโหลด global จากไดรฟ์ที่แมปของ บริษัท สำหรับผู้ใช้ของฉัน
สิ่งนี้มีเหตุผลน้อยมากเนื่องจากมีแอปพลิเคชั่นเพียงไม่กี่แห่งที่ค้นหาตำแหน่งนี้ แต่ Sourcetree ก็ทำได้ดังนั้นหากคุณไม่สามารถทำงานได้ตามการตั้งค่าสถานที่ที่ Sourcetree ให้เรียกใช้ Process Monitor และสร้างกฎเพื่อบันทึกเฉพาะเส้นทางที่มี gitconfig และคุณ สามารถค้นหาว่าการกำหนดค่าส่วนกลางของคุณอยู่ที่ใดในกรณีของไดเรกทอรีผู้ใช้ที่แมปเครือข่าย
และนี่อาจไม่ใช่ข้อผิดพลาดของ Sourcetree อย่างที่ฉันเห็นในขณะที่ฉันเขียนสิ่งนี้ว่า git.exe กำลังโหลด แต่สิ่งนี้เกิดขึ้นเฉพาะกับ git.exe ที่ดำเนินการโดย Sourcetree ในขณะที่บรรทัดคำสั่งโดยตรง Git ใช้ %USERPROFILE%\.gitconfig
ในที่สุดฉันก็เอาผลลัพธ์ทั้งหมดจาก Process Monitor ป้อนลงใน SQL Server และเรียกใช้แบบสอบถามเพื่อให้ได้ผลลัพธ์ที่แตกต่างกัน (ไม่มีลำดับการดำเนินการเฉพาะที่เรียงตามเส้นทาง):
ฉันไม่รู้ว่าการกำหนดค่าเหล่านั้นเกี่ยวข้องกันอย่างไร แต่ฉันรู้ว่าการตั้งค่าบางอย่างแทนที่การตั้งค่าอื่นบางอย่างทำงานจากที่หนึ่งจากที่อื่น
และรายการด้านบนถูกเรียกใช้โดย Sourcetreeอีกครั้งกำกับบรรทัดคำสั่งด้วย Git ดูเหมือนว่าจะทำงานได้ดี%USERPROFILE%\.gitconfig
และไม่ได้อยู่ในรายการนี้ แต่จะมีลักษณะเช่นนี้ (ใน Windows 7)C:\Users\pawel.cioch\.gitconfig
git config --list --show-origin
คุณจะไม่ต้องเดาว่า git config อยู่ที่ไหน ดูคำตอบของฉันด้านล่าง