2013-05-23 30 views
25

Tôi luôn sử dụng git commit --verbose. Có một tùy chọn/cài đặt tương đương sẽ làm cho git hiển thị cho tôi sự khác biệt khi tôi viết lại thông báo cam kết trong thời gian git rebase --interactive không?Làm cách nào để làm cho git hiển thị khác biệt khi viết lại thông điệp cam kết trong khi rebase -i?

+7

Tôi không nghĩ vậy. Bạn tự làm thế nào trong trình chỉnh sửa, ví dụ: trong vi ': r! git diff HEAD ^' hoặc tương tự? – chirlu

+0

@chirlu ooh yeah, đó là giải pháp hữu ích, cảm ơn bạn. –

+0

@AdamMonsen, làm thế nào để bạn "viết lại một tin nhắn cam kết trong git rebase --interactive"? Bạn có làm điều đó trong màn hình ban đầu, thay thế "pick" bằng "reword" và gửi tin nhắn mới trực tiếp hay bạn thay "pick" bằng "edit" và sử dụng "git commit --amend" để thay đổi thông báo cam kết? – Vampire

Trả lời

11

Theo câu trả lời của bạn trong các nhận xét, việc thực thi git diff HEAD^ sẽ không giúp bạn, ngoại trừ bạn chỉ muốn đăng lại lần commit cuối cùng.

Nhưng trong trường hợp này, việc rebase là công cụ sai. Thay vào đó, bạn có thể chỉ cần thực hiện git commit --amend --verbose mà không có thay đổi trong chỉ mục và sau đó chỉnh sửa thông báo cam kết, có chế độ xem khác mà bạn đang yêu cầu.

Nếu bạn muốn xây dựng lại và một cũ hoặc nhiều bài viết cam kết với có quan điểm khác, chỉ cần sử dụng edit đoạn thơ thay vì reword đoạn thơ và sau đó sử dụng git commit --amend --verbose mà không cần thay đổi mã trong các chỉ số về từng cam kết.

reword chỉ nên là lối tắt để sử dụng edit và sau đó thực hiện git commit --amend -m "new message" mà không có bất kỳ thay đổi nào sẽ chỉ thay đổi thông báo cam kết.

Bạn cũng có thể xác định git commit --amend --verbose hoặc git commit --verbose làm bí danh để bạn lưu một số cách nhập và có thể e. g. chỉ cần thực hiện git cav hoặc git c --amend.