2012-12-26 36 views
74

tôi trong quá trình học tập github trên mac (dòng lệnh) và bất cứ khi nào tôi làm git pull origin master tôi có được điều nàygithub khóa lên terminal mac khi sử dụng lệnh kéo

# Please enter a commit message to explain why this merge is necessary, 
# especially if it merges an updated upstream into a topic branch. 
# 
# Lines starting with '#' will be ignored, and an empty message aborts 
# the commit. 
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
~                    
".git/MERGE_MSG" 7L, 293C 

nhà ga dường như bị khóa và không cho phép tôi nhập bất cứ điều gì ngay lập tức, sau đó khi nó cuối cùng cho phép tôi nhập văn bản có vẻ như nó không nhận ra lệnh git.

Đây có phải là lỗi trong git hoặc tôi thiếu gì đó không?

+4

Ứng dụng có thực sự khóa hoặc bạn không quen thuộc với 'vi'? –

+1

Tôi không thể cho bạn biết lý do tại sao, nhưng git muốn bạn nhập một thông báo cam kết, và bạn có thể là hầu hết trong trình soạn thảo văn bản vim. – Misch

+0

Tôi hiểu rồi, vâng tôi không quen với vim. làm thế nào để tôi nhập và lưu các bình luận sau đó contenue ngày? – zero

Trả lời

174

Bạn đang ở trong trình chỉnh sửa văn bản, vim! Đó là một modal editor văn bản, vì vậy bạn sẽ cần phải:

  1. Nhấn i nhập chèn chế độ.
  2. Bây giờ bạn có thể nhập tin nhắn của mình, như thể bạn đang ở trong trình soạn thảo văn bản bình thường (không theo phương thức).
  3. Bấm esc để quay lại chế độ lệnh.
  4. Sau đó nhập :w theo sau là nhập để lưu.
  5. Cuối cùng :q theo sau là nhập để thoát.
+4

ah tuyệt vời, gần như bị mất đầu của tôi trong một giây ở đó. cảm ơn người đàn ông. – zero

+2

+1 cho lời nhắc esc! đó là phần tôi luôn quên. – Bek

+0

Cảm ơn rất nhiều ... nó đã làm việc cho tôi ... – girish

12

Làm cho nó đơn giản.

Loại :wqnhập

0

Tôi cố định vấn đề này bằng cách thực hiện các bước sau

  1. Di # MERGE_MSG #

    rm .git/\#MERGE_MSG#

  2. Di MERGE_HEAD

    rm .git/MERGE_HEAD

Ngoài ra, tôi dứt khoát thiết lập trình soạn git của một biên tập viên mà tôi quen thuộc với vim (bạn có thể đặt nano)

`git config --global core.editor "vim"` 
1

Run này command

git config --global core.editor "gedit" 

Thêm tin nhắn của bạn vào tập tin này và lưu nó. Quay lại kéo ngay bây giờ.

1

Trình chỉnh sửa có vẻ là vim theo mô tả của bạn. Bảng điều khiển này chỉ đơn giản là nói cho bạn để viết một số tin nhắn cho cam kết bạn muốn thực hiện, và nó là bắt buộc như nó.

  • Chỉ cần gõ i và bạn sẽ đi vào chế độ -- INTER --, bây giờ bạn có thể viết bình luận của bạn.

  • Sau khi bạn đã viết xong, nhấn phím esc trong bàn phím và bạn sẽ chuyển sang chế độ lệnh. (thấy trên dưới cùng của giao diện điều khiển)

  • Bây giờ lưu các thay đổi bằng cách viết :w tiếp bằng cách nhấn enter chính

Writing <code>:w</code> command

  • Bạn có thể thoát bây giờ bằng cách viết :q tiếp theo nhấn enter phím

Writing <code>:q</code> command

  • Hoan hô! Cuối cùng bạn quay trở lại bàn điều khiển chính.
0

Bạn có thể làm git checkout --merge yourbranch

Một ba chiều kết hợp giữa các chi nhánh hiện nay, nội dung cây làm việc của bạn, và các chi nhánh mới được thực hiện, và bạn sẽ được trên chi nhánh mới.

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