Tại sao .gitconfig của tôi không hoạt động? (đối với khác biệt bên ngoài)


3

Tôi đã thêm cái này vào ~/.gitconfig:

[diff]
    external = mvimdiff

[difftool]
    prompt = false

và thực hiện 755 /bin/mvimdiffrằng:

#!/bin/sh

mvim -d "$2" "$5"

để gọi MacVim là công cụ git diff của tôi. Nhưng khi tôi chạy lệnh git difftrong thư mục git, nó vẫn xuất kết quả từ bình thường diffsang shell. Không có MacVim nào cả. Tôi chắc chắn rằng không .git/configghi đè lên .gitconfig, và tôi đã cố gắng khởi động lại máy tính của mình để làm mới. Tại sao cấu hình không hoạt động?

Cảm ơn bạn.

Câu trả lời:


4

Bạn có thể tốt hơn bằng cách sử dụng git difftoolđể gọi một công cụ diff diff khác. Ví dụ:

Điều chỉnh gvimdiffcông cụ tích hợp để mvim:

git config --global diff.tool gvimdiff
git config --global difftool.gvimdiff.path mvim

Hoặc, cấu hình mvimdifftừ đầu:

git config --global diff.tool mvimdiff
git config --global difftool.mvimdiff.cmd 'mvim -f -d "$LOCAL" "$REMOTE"'

Sau đó chạy git difftoolđể xem từng tệp khác nhau trong MacVim .


Nếu bạn thực sự muốn git diffbản thân sử dụng MacVim , thì bạn có thể định cấu hình như thế này (không có bất kỳ tệp tập lệnh bên ngoài nào):

git config diff.external 'd() { mvim -f -d "$2" "$5"; }; d'

Dù bằng cách nào, bạn cần chắc chắn rằng sự phù hợp mvimnằm trong ĐƯỜNG của bạn. Ngoài ra, bạn sẽ cần phải sử dụng các -ftùy chọn ( “không ngã ba” / “chạy trong foreground”) bởi vì nếu không git diffcó thể sẽ xóa các tập tin tạm thời trước khi MacVim đã có cơ hội để đọc chúng (ít nhất một tập tin từ mỗi lời gọi sẽ là một tập tin tạm thời).


vẫn không hoạt động đối với tôi: ( diff --cc env-bối cảnh chỉ mục 4f430b5, b7ab2ef..0000000 ....
ihadanny
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.