Làm thế nào để thoát một hợp nhất git yêu cầu thông báo cam kết?


22

Tôi đang sử dụng git. Tôi đã hợp nhất bình thường, nhưng nó cứ hỏi thế này:

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

Và ngay cả khi tôi viết một cái gì đó, tôi không thể thoát khỏi đây. Tôi không thể tìm thấy tài liệu giải thích điều này. Tôi nên làm thế nào?


2
nhấn ESC: wq đó là một cú pháp vim;)
đánh bại

Câu trả lời:


24

Điều này phụ thuộc vào trình soạn thảo bạn đang sử dụng.

Nếu bạn có thể sử dụng ESC:wqhay ESCShift+ zz. Cả hai lệnh lưu tập tin và thoát.

Bạn cũng có thể kiểm tra ~/.gitconfigtrình soạn thảo, trong trường hợp của tôi ( cat ~/.gitconfig):

[user]
    name = somename
    email = somemail@gmail.com
[core]
    editor = vim
    excludesfile = /home/mypath/.gitignore_global
[color]
  ui = auto
  # other settings here

0

Tôi biết điều này có thể bị trễ, tuy nhiên tôi đã nhận thấy rằng nó chỉ xảy ra nếu tôi thực hiện cam kết với một chi nhánh được cập nhật hơn một chút so với chi nhánh mà tôi đang hợp nhất.

Hình ảnh để giúp hiểu

Hóa ra nếu tôi thay đổi một nhánh (tức là thêm nhiều tệp vào nhánh) và thử và hợp nhất một nhánh khác vào nó, Git sẽ yêu cầu tôi viết một MERGE_MSGnhánh cho nhánh đó.

Trong hình ảnh này, nó cho thấy rằng tôi đã thêm một tệp LICENSE mastervà một .gitignoretệp trong nhánh npm-init.

masterchứa một tệp mới, PHÉP và npm-initkhông biết về nó, Git đã yêu cầu tôi viết một thông điệp về lý do tại sao tôi nên hợp nhất nó.

Tương tự, tôi đã hợp nhất add-eslintvào add-dev trước khi tôi hợp nhất các thay đổi trong install-deps.


Tôi biết điều này có thể khó hiểu (ngay cả đối với tôi lúc đầu), nhưng tôi hy vọng hình ảnh sẽ xóa mọi thứ :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.