2012-10-05 5 views
54

Làm cách nào để buộc git merge sử dụng thông báo hợp nhất mặc định thay vì tải trình chỉnh sửa của tôi bằng tin nhắn đã nói?Hợp nhất Git không sử dụng thông báo hợp nhất mặc định, mở trình chỉnh sửa với thông báo mặc định

Tôi không có biên tập viên nào được liệt kê trong git config -l, vì vậy tôi không chắc chắn lý do tại sao nó mở trình chỉnh sửa.

+0

Không chắc, nhưng không hợp nhất - như cam - có tùy chọn '--no-edit'? –

Trả lời

73

Tìm thấy câu trả lời sau khi một số đào

EDIT: Theo đề nghị của Mark, đây là cách tốt nhất để làm như vậy:

git config --global core.mergeoptions --no-edit 
+14

Thay vì chỉnh sửa trực tiếp '~/.gitconfig', có thể an toàn hơn khi đề xuất sử dụng' git config' để thực hiện việc này, ví dụ: 'git config --global core.mergeoptions --no-edit', do đó không có khả năng tạo ra' ~/.gitconfig' không đúng định dạng. –

+3

Điều này dường như làm việc cho 'git merge', nhưng tôi vẫn có một trình soạn thảo mở cho' git pull'. Có cách nào để vô hiệu hóa thông điệp cam kết cho điều này không? – LandonSchropp

+1

Tôi không thể tìm thấy bất kỳ đề cập đến 'core.mergeoptions', mặc dù nó chắc chắn áp dụng cho' branch. *. Mergeoptions'. Có ai biết các phiên bản được hỗ trợ cho việc này không? – cmbuckley

46

Sử dụng

export GIT_MERGE_AUTOEDIT=no 

hoặc

git merge --no-edit 
+0

Đây gần như là những gì tôi muốn, nhưng nó buộc bạn phải gõ --no-edit mỗi lần. Các giải pháp tôi tìm thấy thay đổi hành vi mặc định của 'git merge' – kjb

+1

không hoạt động khi tôi git kéo. – Michelle

+0

Chuyển trực tiếp đến lệnh hợp nhất, như được đề xuất ở đây, đặc biệt hữu ích trong tập lệnh yêu cầu hợp nhất git. Bạn hầu như luôn muốn một tập lệnh không nhắc người dùng. Tuy nhiên, nó sẽ được tốt đẹp để biết làm thế nào để vượt qua một tin nhắn tùy chỉnh để 'git merge'. Có lẽ 'git merge -m" message "' hoạt động nhưng tôi chưa thử nó. – Ernesto

9

Đây là một fe mới ature của Git, introduced in Git 1.7.10, sử dụng cái cũ (không cung cấp một thông báo trên merge) đưa hai dòng sau trong bạn .bash_profile hoặc .bashrc

GIT_MERGE_AUTOEDIT=no 
export GIT_MERGE_AUTOEDIT 
+0

Bạn có biết phiên bản nào đã giới thiệu phiên bản này không? –