Câu trả lời:
Có lẽ (từ git committrang 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 , -ncó thể có một vai trò khác nhau đối với các lệnh nhất định.
Ví dụ, git push -nthực sự là một cú đẩy khô.
Chỉ git push --no-verifysẽ 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-commithook"
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-commithook đã 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-commithook.
Davi Lima chỉ ra trong các ý kiến của git cherry-pickkhô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 --continuebtw
hookthư 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 hookthư 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