Sử dụng IntelliJ để sửa đổi thông báo cam kết git


105

Người ta có thể sửa đổi một thông báo git commit bằng cách sử dụng IntelliJhay phải dùng đến dòng lệnh?

Làm thế nào điều này có thể được thực hiện xin vui lòng?

Câu trả lời:


86

Xem => Công cụ Windows => Kiểm soát Phiên bản. ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017,1 và cao hơn => Đến Log và phải nhấp chuột + xây dựng lại và hoặc nhấn F2.

Cam kết đổi tên IntelliJ

Khi bạn đang ở trên cùng một chi nhánh, (chi nhánh đã thanh toán của bạn giống nhau)


4
Đây dường như là cách duy nhất (bên cạnh dòng lệnh) để sửa đổi nhận xét (mà không thực hiện thay đổi để buộc thực hiện cam kết) với WebStorm 2017.3. Cửa sổ Kiểm soát Phiên bản này xuất hiện thông qua Alt + 9 hoặc Xem-> Công cụ Windows-> Kiểm soát Phiên bản.
CODE-REaD

3
Trong Idea 2017.3 lệnh được mô tả được đặt tên là "Ghi lại ..." thay vì "Đổi tên" (như trong ảnh chụp màn hình :-)). F2 cũng hoạt động.
Volker Seibt

1
Có ai biết tại sao "Chỉnh sửa thông báo cam kết ..." lại có màu xám trong IntelliJ (2019.3.1) của tôi không?
Cold_Class

@Cold_Class Đây có phải là thông điệp cam kết của bạn không? Tôi có một cái màu xám là hợp nhất. Ý Merge branch 'develop' of REPO_URL into BRANCH_NAMEbạn là như thế này?
Stefan Rein

@StefanRein - Hôm nay tôi gặp sự cố này và nhận ra mình đang ở chế độ chọn anh đào - điều này phải bị hủy bỏ
Lost Crotchet

72

Hỗ trợ sửa đổi: gọi "Thay đổi cam kết" và chọn hộp kiểm "Sửa đổi cam kết" trong Hộp thoại cam kết. Sau đó nhấn nút "Cam kết" và cam kết sẽ được sửa đổi thành trước đó.

Tuy nhiên, hỗ trợ bị hạn chế:

  • bạn không thể thấy chi tiết của cam kết đang được sửa đổi,
  • nếu bạn không có bất kỳ thay đổi chưa cam kết nào (ví dụ: bạn chỉ muốn thay đổi thông báo của cam kết trước đó mà không thêm các thay đổi khác vào nó), bạn sẽ không thể gọi "Cam kết".

12
Cách giải quyết thông thường chống lại vấn đề thứ hai là thêm một số nhân vật không quan trọng (số lượng có vv) vào một tập tin, do đó bạn sẽ có thể cam kết
leokom

Bộ phận hỗ trợ của JetBrains đã giới thiệu tôi đến các yêu cầu nâng cao IDEA-81428IDEA-57979 . Câu hỏi & câu trả lời này cũng có thể áp dụng cho PyCharm.
Wil Cooley

10
Câu trả lời này không còn đúng kể từ năm 2017.2. Bạn có thể thực hiện dễ dàng ngay bây giờ: Version Controlbảng điều khiển> Logtab> chọn lần cam kết cuối cùng> nhấn F2. jetbrains.com/idea/whatsnew/#v2017-2-version-control
DLight

39

Cuối cùng đã tìm ra giải pháp cho vấn đề này .. Vấn đề này đã làm tôi khó chịu trong nhiều ngày.

  1. Đi tới Kiểm soát phiên bản - tab Đăng nhập
  2. Chọn phiên bản, một phiên bản bên dưới các thay đổi của bạn. Nhấp chuột phải và nói "đặt lại chi nhánh hiện tại về đây"
  3. Chọn "Soft" và nhấp vào Reset, điều này rất quan trọng, bạn chỉ cần nhấp vào soft để các thay đổi của bạn không bị mất.
  4. Kiểm tra kiểm soát phiên bản, thay đổi cục bộ, các thay đổi của bạn sẽ có thể thực hiện được trong cùng một danh sách thay đổi
  5. Nhấp chuột phải vào danh sách thay đổi và chọn cam kết.
  6. Nó sẽ hiển thị cho bạn thông báo cam kết trước đó của bạn, bây giờ bạn có thể sửa đổi các nhận xét và nói cam kết và đẩy

    Note: This solution uses android studio as intellij platform. 
    

1
Đối với tôi, trong IntelliJ 17.3, tôi có thể sử dụng mục menu "Reword ... (F2)" trong Kiểm soát phiên bản: Nhật ký để chỉ chỉnh sửa thông báo cam kết trực tiếp.
Claes Mogren

28

Bạn cũng có thể chuyển đến thư mục git của mình bằng một thiết bị đầu cuối và trình bao như powershell, cmd hoặc bash (tùy thuộc vào hệ thống của bạn), sau đó nhập:

git commit --amend -m "your new commit message"

3
Và vì IntelliJ cung cấp một thiết bị đầu cuối tích hợp, bạn thậm chí không cần phải rời khỏi IDE. Đây có lẽ là cách nhanh nhất.
walen

14

Thông báo cam kết có thể được chỉnh sửa trong quá trình rebase. Gọi Rebaselệnh từ VCSmenu, xác nhận cài đặt nhánh, sau đó nhấp vào nút Rebase. Bạn sẽ được hiển thị với một danh sách các cam kết chưa được gửi của bạn. Chọn rewordhành động từ menu thả xuống bên trái của thư bạn muốn chỉnh sửa.

Kiểm tra git doc trên Lịch sử viết lại để biết chi tiết về các hành động rebase khác.


2
Đây là một trong những lựa chọn tốt hơn. Nếu bạn đã đẩy các thay đổi của mình lên gốc, IDE sẽ cảnh báo bạn. Đây là một điều tốt, như thể ai đó đã kéo cam kết mà bạn đã đẩy, việc sửa đổi cam kết, ngay cả khi chỉ thay đổi thông báo cam kết, sẽ có nghĩa là tất cả mọi người đã kéo cam kết trước đó cũng sẽ cần phải căn cứ lại. Đây nói chung là một "điều tồi tệ".
Chris Cogdon

3

Trong tab Nhật ký, chọn cam kết và nhấn F2 (Ghi lại). Đó là nó.


2

Công bằng mà nói, cách nhanh nhất để làm điều này là thông qua dòng lệnh. Tôi biết OP đã hỏi về việc thực hiện nó thông qua IntelliJ (Làm thế nào tôi tìm thấy câu hỏi này, tôi đang cố gắng thực hiện nó trong PHPStorm), nhưng nghiêm túc mà nói, nó dễ dàng hơn nhiều thông qua dòng lệnh.

Khi ở đúng thư mục trong dòng lệnh terminal / command prompt của bạn

git commit --amend

Sau đó, bạn sẽ được hiển thị thông báo cam kết cuối cùng, chỉ cần chỉnh sửa văn bản và lưu tệp, công việc đã hoàn thành!

Nếu bạn muốn thay đổi trình soạn thảo (mặc định là vi), hãy sử dụng lệnh này, thay đổi "vim" thành trình soạn thảo bạn chọn.

git config --global core.editor "vim"

tức là người dùng windows có thể muốn ...

git config --global core.editor "notepad"

Nguồn: https://help.github.com/articles/changed-a-commit-message/


1
Câu trả lời của bạn quá giống với những câu khác và thậm chí còn mang một phương pháp kém tiện lợi hơn. git commit --amend -m my_new_messageđược sử dụng để thay đổi thông báo cam kết trực tiếp từ dòng lệnh.
Christopher J.

Tôi nghĩ cái này là tốt. Chúng tôi có thể sửa đổi thông báo dựa trên thông báo sai. Và trình soạn thảo "VI" cũng tốt.
Leo Lee

@ChristopherJ. - xin lỗi, tôi không thấy trả lời của bạn khi tôi đăng bài này. Tôi sẽ để nó ở đây vì tôi có bổ sung thay đổi trình chỉnh sửa nếu bạn không thích mặc định.
Steve Childs

2

Trong trường hợp, 2018.3 và tương tự với 2017.1

Alt + 9(cửa sổ điều khiển phiên bản)

Và nhấp chuột phải -> menu ngữ cảnh nhấp vào "Ghi lại ... F2"

HOẶC LÀ

shorcut F2Bạn có thể chỉnh sửa tin nhắn.


1

Trong JetBrains Go to View -> Version Control-> Thao tác này sẽ mở tab nhật ký điều khiển phiên bản ở cuối màn hình Go to Logvà bạn có thể thấy cam kết mà bạn đã thực hiện lần trước Nhấp chuột phải vào nó và chọnundo commit

Chơi lô tô! Bạn đã hoàn nguyên tất cả cam kết của mình và tin nhắn sẽ bị xóa. Bạn cũng có thể chọn thực hiện thiết lập lại mềm trong trường hợp bạn chỉ muốn thay đổi thông báo cam kết

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.