2014-05-01 13 views
9

Làm cách nào để lệnh Git tạm thời bỏ qua ~/.gitconfig của tôi?Làm thế nào để Git tạm thời bỏ qua ~/.gitconfig?

Tôi có thể đặt GIT_CONFIG=/dev/null để thực hiện git config bỏ qua ~/.gitconfig, nhưng điều này không ảnh hưởng đến các lệnh Git khác.

Tôi có thể ẩn số ~/.gitconfig của mình, ví dụ: mv ~/.gitconfig{,.hidden}, nhưng điều này là khó chịu vì tôi phải di chuyển nó trở lại sau và nó ảnh hưởng đến Git trên toàn cầu.

Trường hợp sử dụng

  • Scripting Git: hạn chế để mặc định cài đặt cho tính di động.
  • Gỡ lỗi Git: hạn chế cài đặt mặc định để tái tạo.
+1

Tại sao bạn muốn làm điều đó? Trường hợp sử dụng của bạn là gì? – Sigi

+0

@ Sigi: ngay bây giờ tôi đang gỡ lỗi Git, và trong quá khứ tôi đã muốn điều này khi kịch bản Git. – ntc2

+1

Thật ngạc nhiên, có vẻ như không phải là một tùy chọn để 'git' mà sẽ làm cho nó bỏ qua các cấu hình (s). Có lẽ bạn nên gửi yêu cầu tới người bảo trì Git để bao gồm khả năng đó. – Sigi

Trả lời

0

Tốt nhất là để tạo ra một vài bí danh trong ~/.bash_config (hoặc kịch bản của bạn):

alias enableconfig="mv ~/.hiddengitconfig ~/.gitconfig"; 
alias disableconfig="mv ~/.gitconfig ~/.hiddengitconfig"; 

Bằng cách này bạn có thể dễ dàng bật/tắt từ kịch bản và/hoặc thiết bị đầu cuối.

+1

Tôi không nghĩ điều này là rất thiết thực đối với trường hợp sử dụng "kịch bản Git". – ntc2

+0

@ ntc2 tại sao lại như vậy? – SomeKittens

+2

Ví dụ: nếu tập lệnh không thành công, thì ~/.gitconfig sẽ vẫn được di chuyển. Viết kịch bản cẩn thận hơn có thể làm việc xung quanh điều này, nhưng điều đó làm tăng thêm sự phức tạp. – ntc2

4

Tôi tìm thấy một workaround phong nha: Git không thể sử dụng ~/.gitconfig nếu nó không thể tìm thấy nó tôi:

HOME= git <args> 

công trình! Tại đây HOME= bỏ chọn hiệu quả HOME trong khoảng thời gian của lệnh git <args>.

phiên bản cẩn thận hơn nhưng còn bao gồm

HOME=/dev/null git <args> 

(unset HOME; git <args>) 
+0

Chính xác hơn, nó đặt 'HOME' thành chuỗi rỗng. –

+1

Điều này có thể phá vỡ các phiên bản của git trước 1.8.4; xem 'Tài liệu/RelNotes/1.8.4.txt' trong cây nguồn git. Và các tệp cấu hình git (chẳng hạn như '/.git/config') có thể tham chiếu đến' $ HOME' hoặc '~'. –

+0

@KeithThompson: Tôi đoán bạn đang đề cập đến "Khi' $ HOME' bị định cấu hình sai để trỏ vào thư mục không đọc được, chúng tôi được sử dụng để khiếu nại và chết. Hãy nới lỏng séc. " trong ghi chú phát hành. Cảm ơn! – ntc2

Các vấn đề liên quan