2014-04-08 18 views
5

Có cách nào để vô hiệu hóa git pull không?Tôi có thể tắt git pull không?

Tôi muốn làm cho nó không hoạt động hoặc không làm bất cứ điều gì, do đó, khi gõ nó do nhầm lẫn, nó sẽ không gây ra cho tôi vấn đề.

+0

Bạn có ý nghĩa gì khi nhập thay vào đó? Bạn có chắc là bạn không chỉ nhầm lẫn khi gõ lệnh mới để kéo không? – user2357112

+0

Hệ điều hành của bạn có phải là Linux không? –

+0

@BartlomiejLewandowski Mac OS X, mặc dù tôi muốn một giải pháp chỉ dựa vào khả năng git. –

Trả lời

6

Vì bạn đang sử dụng OSX, bạn có thể viết chức năng để kiểm tra xem bạn đã gõ git pull chưa.

Nếu có, nó sẽ in một tin nhắn, nếu không nó sẽ gọi git với các thông số.

Ví dụ:

git() { if [[ [email protected] == "pull" ]]; then command echo "Cannot pull!"; else command git "[email protected]"; fi; } 
1

Không trực tiếp trong git, vì bí danh git không được phép ghi đè các lệnh dựng sẵn.

Tuy nhiên, bạn có thể tạo hàm bash và bí danh proxy ủy quyền lệnh git của bạn và sửa đổi nó. Steve Bennett gives a great example in this answer.

2

Một cách khác, nếu bạn đã có quyền root, sẽ được:

$ sudo chmod 000 /usr/lib/git-core/git-pull 

... hoặc bất cứ nơi nào các tập tin là trong FS của bạn. Sau đó:

$ git pull 
fatal: cannot exec 'git-pull': Permission denied 
$ 

Ngoài ra, bạn có thể thay thế nó bằng một cái gì đó dọc theo dòng của

#!/bin/sh 
echo "git-pull is disabled" 
exit 1 
0

Tôi đoán các vấn đề bạn đề cập đến là xung đột nhập có thể xảy ra nếu chi nhánh địa phương của bạn tách ra từ điều khiển từ xa. Trong trường hợp đó, hãy thử thiết lập tùy chọn trong pull.ff git config, như thế:

[pull] 
    ff = only 

này sẽ cho git để chỉ làm nhanh về phía trước sáp nhập, mà được đảm bảo để không dẫn đến xung đột.

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