Có phải bằng cách nào đó có thể tự động có một liên kết đến số vấn đề GitHub trong git commit
tin nhắn?
Có phải bằng cách nào đó có thể tự động có một liên kết đến số vấn đề GitHub trong git commit
tin nhắn?
Câu trả lời:
Chỉ cần đưa #xxx
vào thông điệp cam kết của bạn để tham khảo một vấn đề mà không đóng nó.
Với các vấn đề GitHub 2.0 mới, bạn có thể sử dụng các từ đồng nghĩa này để tham chiếu một vấn đề và đóng nó (trong thông điệp cam kết của bạn):
fix #xxx
fixes #xxx
fixed #xxx
close #xxx
closes #xxx
closed #xxx
resolve #xxx
resolves #xxx
resolved #xxx
Bạn cũng có thể thay thế #xxx
bằng gh-xxx
.
Các vấn đề tham khảo và kết thúc trên các repos cũng hoạt động:
fixes user/repo#xxx
Kiểm tra các tài liệu có sẵn trong phần Trợ giúp của họ.
Fix issue #xxx
Không có ý tưởng cho tôi, bất kỳ ý tưởng? Nó tham khảo vấn đề, nhưng không đóng nó.
dev
.
Nếu bạn muốn liên kết đến sự cố GitHub và đóng sự cố, bạn có thể cung cấp các dòng sau trong thông báo cam kết Git của mình:
Closes #1.
Closes GH-1.
Closes gh-1.
(Bất kỳ một trong ba sẽ hoạt động.) Lưu ý rằng điều này sẽ liên kết đến vấn đề và cũng đóng nó. Bạn có thể tìm hiểu thêm trong bài đăng trên blog này (bắt đầu xem video được nhúng vào khoảng 1:40).
Tôi không chắc chắn nếu một cú pháp tương tự sẽ chỉ liên kết đến một vấn đề mà không đóng nó.
.
sau khi "Đóng GH-1` có cần thiết không? Ngoài ra, nó có phân biệt chữ hoa chữ thường không?
message (closes GH-28)
làm việc cho tôi, không chắc chắn nếu mọi thứ là không phân biệt chữ hoa chữ thường.
github thêm một tham chiếu đến cam kết nếu nó chứa #issuenbr (được phát hiện ra điều này một cách tình cờ).
họ có một bài viết hay về các vấn đề mới 2.0 trên blog của họ https://github.blog/2011-04-09-issues-2-0-the-next-generation/
từ đồng nghĩa bao gồm
sử dụng bất kỳ từ khóa nào trong thông điệp cam kết sẽ khiến cho cam kết của bạn được đề cập hoặc đóng một vấn đề.
Cũng như các câu trả lời khác: Nếu bạn thậm chí không muốn viết thông điệp cam kết với số vấn đề và tình cờ sử dụng Eclipse để phát triển, thì bạn có thể cài đặt các trình cắm eGit và Mylyn cũng như trình kết nối GitHub cho Mylyn. Sau đó, Eclipse có thể tự động theo dõi vấn đề nào bạn đang làm việc và tự động điền vào thông điệp cam kết , bao gồm cả số vấn đề như trong tất cả các câu trả lời khác.
Để biết thêm chi tiết về thiết lập đó, hãy xem http://wiki.eclipse.org/EGit/GitHub/UserGuide
Để liên kết số vấn đề với thông điệp cam kết của bạn, bạn nên thêm:
#issue_number
trong thông điệp cam kết git của bạn.
Thông điệp cam kết từ Hướng dẫn Kiểu Thông báo Cam kết Udacity Git
feat: Summarize changes in around 50 characters or less
More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical (unless
you omit the body entirely); various tools like `log`, `shortlog`
and `rebase` can get confused if you run the two together.
Explain the problem that this commit is solving. Focus on why you
are making this change as opposed to how (the code explains that).
Are there side effects or other unintuitive consequenses of this
change? Here's the place to explain them.
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded
by a single space, with blank lines in between, but conventions
vary here
If you use an issue tracker, put references to them at the bottom,
like this:
Resolves: #123
See also: #456, #789
Bạn cũng có thể tham khảo các kho lưu trữ:
githubuser/repository#issue_number
feat
được sử dụng thường xuyên hơn refactor
, cũng không có chữ viết tắt rõ ràng cho refactor
( ref
có thể có nghĩa là tham chiếu, rf
quá không rõ ràng, v.v.).
Một trong những dự án đầu tiên của tôi với tư cách là một lập trình viên là một viên đá quý có tên là stagecoach , trong số những thứ khác) cho phép tự động thêm số vấn đề github vào mỗi thông điệp cam kết trên một nhánh, đó là một phần của câu hỏi chưa thực sự được trả lời .
Về cơ bản khi tạo một nhánh bạn sẽ sử dụng một lệnh tùy chỉnh (đại loại như stagecoach -b <branch_name> -g <issue_number>
) và số vấn đề sau đó sẽ được gán cho nhánh đó trong tệp yml. Sau đó, có một hook hook tự động gắn số vấn đề vào thông điệp cam kết.
Tôi sẽ không đề xuất nó cho sử dụng sản xuất vì tại thời điểm đó tôi chỉ mới lập trình được vài tháng và tôi không còn duy trì nó nữa, nhưng nó có thể được ai đó quan tâm.