2012-10-31 28 views
5

tôi đang cố gắng để thực hiện tất cả các thay đổi của tôi bằng cách sử dụng lệnh saurắc rối trong việc sử dụng "git commit -a" lệnh

git commit -a 

Lưu ý: Tôi muốn cam kết mà không cần bất kỳ "cam kết thông báo"

nhưng khi Tôi thực hiện lệnh trên nó cho tôi thấy màn hình hiển thị bên dưới, và tôi không biết làm cách nào để thoát khỏi màn hình này để hoàn thành cam kết của mình.

enter image description here

+3

Tại sao bạn muốn cam kết không có thư? –

Trả lời

3

Bạn phải chỉ định một cam kết tin nhắn với mỗi cam kết. Có hai cách để làm điều này. Trước tiên, bạn có thể cung cấp nó trên dòng lệnh, sử dụng -m switch:

git commit -am "I made the changes" 

Nếu bạn không chỉ định chuyển đổi đó, git mở trình biên tập cấu hình. Theo mặc định, đây là vim. Để viết thư trong vim, nhập i để nhập chế độ chèn, sau đó nhập tin nhắn của bạn. Hit esc để thoát chế độ chèn, sau đó gõ :wq để tiết kiệm (w nghi thức) và q UIT trình soạn thảo.

Bạn cũng có thể configure another editor to be used by git. Trên dòng lệnh, bạn có thể chạy lệnh như git config --global core.editor notepad, trong đó notepad là tên của trình chỉnh sửa mà bạn thích.

+0

Thực sự hữu ích! –

+0

có cách nào để cam kết không có thông báo không? –

+0

Không, không có cách nào để cam kết mà không có tin nhắn. Cam kết yêu cầu một tin nhắn. Nó có thể đơn giản như 'Đã thay đổi 4 tệp' hoặc 'Cập nhật khác'. Điều đó nói rằng, có thông điệp cam kết có ý nghĩa là _really_ hữu ích để kiểm soát nguồn khi bạn quay lại dự án sau này (thậm chí vài ngày sau đó). – bdukes

2

thử git commit -a -m '[your commit message]'

chỉnh sửa: git cần luôn luôn là một ý kiến ​​đối với từng cam kết, bạn có thể bằng cách này thêm một bình luận rỗng với

git commit -a -m '' 

hoặc

git commit -am '' 

Cam kết với thư là cần thiết khi sử dụng Git, nhưng cũng hữu ích:

Việc tạo thông điệp cam kết là một bước rất quan trọng trong công việc phát triển của bạn. Thông điệp này thường là điều đầu tiên mà các nhà phát triển khác sẽ thấy, và dòng đầu tiên trong Git commit-msg có một ý nghĩa đặc biệt. Nó được coi là "Tiêu đề" hoặc "Chủ đề" của cam kết. Nhiều giao diện sử dụng danh hiệu này để đại diện cho cam kết, chẳng hạn như:

-Subject thông báo e-mail

chế độ "oneline"

-git log của

giao diện -Gerrit (bảng điều khiển, kết quả tìm kiếm, tiêu đề)

Revert

-Git (trích dẫn danh hiệu cam kết)

-Various Git GUI khách hàng

(sử dụng dòng đầu tiên như tiêu đề unti l đầu tiên dòng trống hoặc cuối của cơ thể)

+0

Tôi muốn cam kết không có bất kỳ thông báo nào –

+0

thì bạn có thể thực hiện: git commit -a -m '' – dnlcrl

0

u nên sử dụng git commit -a -m '[your message here]'

một cam kết thông báo là cần thiết bạn có thể giữ nó trống rỗng cũng

git commit -a -m ''

một câu hỏi tương quan

Git commit with no commit message

+0

Tôi muốn cam kết mà không cần bất kỳ thông báo nào –

+0

git commit cần một thông báo. bạn có thể đưa ra một tin nhắn trống. đã đưa ra tham chiếu về một câu hỏi khác – Rishabh

0

Bạn chưa chỉ định thư cam kết để Git mở trình soạn thảo mặc định (Vim) trong trường hợp này) để chỉ định thông báo.Bạn có 2 lựa chọn để giải quyết này:

  1. Viết tin nhắn của bạn writeing

    i{your message}<ESC>:wq<CR> 
    
  2. Hoặc viết tin nhắn trực tiếp vào dòng lệnh:

    git commit -am 'your message'