Câu trả lời:
Có lẽ (từ git commit
trang nam ):
git commit --no-verify
-n
--no-verify
Tùy chọn này bỏ qua các hook pre-commit và commit-messenger. Xem thêm githooks (5) .
Theo nhận xét của Blaise , -n
có thể có một vai trò khác nhau đối với các lệnh nhất định.
Ví dụ, git push -n
thực sự là một cú đẩy khô.
Chỉ git push --no-verify
sẽ bỏ qua các hook.
Lưu ý: Git 2.14.x / 2.15 cải thiện hành vi --no-verify:
Xem cam kết 680ee55 (14 tháng 8 năm 2017) của Kevin Willford (``) .
(Được hợp nhất bởi Junio C Hamano - gitster
- trong cam kết c3e034f , ngày 23 tháng 8 năm 2017)
commit
: bỏ qua việc loại bỏ chỉ mục nếu không cópre-commit
hook"
git commit
" Được sử dụng để loại bỏ chỉ mục và đọc lại từ hệ thống tập tin chỉ trong trường hợppre-commit
hook đã cập nhật nó ở giữa; điều này đã được tối ưu hóa khi chúng tôi biết rằng chúng tôi không chạypre-commit
hook.
Davi Lima chỉ ra trong các ý kiến của git cherry-pick
không không hỗ trợ --no-xác minh.
Vì vậy, nếu cherry-pick kích hoạt hook pre-commit, bạn có thể, như trong bài đăng trên blog này , phải bình luận / vô hiệu hóa bằng cách nào đó hook đó để tiếp tục git cherry-pick của bạn.
Quá trình tương tự sẽ là cần thiết trong trường hợp a git rebase --continue
, sau khi giải quyết xung đột hợp nhất.
git rebase --continue
btw
hook
thư mục của tôi với một số tập lệnh xác nhận trước, điều đó thật khó chịu, có cách nào để tôi có thể ngăn hook
thư mục của mình bị ghi đè bởi git pull không?
Từ man githooks
:
pre-commit
Móc này được gọi bởi git commit và có thể được bỏ qua với tùy chọn --no-verify. Nó không có tham số và được gọi trước khi nhận được thông điệp nhật ký cam kết được đề xuất và thực hiện một cam kết. Thoát khỏi trạng thái khác không từ tập lệnh này khiến cam kết git hủy bỏ.
commit
): stackoverflow.com/questions/58337861/ mẹo