Tôi cần phải thực hiện lệnh git revert -m, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về cách cha mẹ cam kết được đánh số. Tất cả mọi thứ tôi đã nhìn thấy (bao gồm cả các trang trợ giúp cho phân tích cú pháp) chỉ cho tôi biết rằng các bậc cha mẹ được đánh số nhưng không nói cách chúng được đánh số. Ai đó có thể chỉ ra cho tôi nơi mà điều này được xác định và làm thế nào để xác định điều này?Làm cách nào để tìm ra số lượng các phụ huynh cam kết hợp nhất?
Trả lời
git show --format="%P" <SHA>
sẽ cung cấp cho bạn SHA gốc của cam kết đã cho theo thứ tự số. Thông thường, số tiền bạn muốn chỉ định cho git revert
sẽ là 1
.
Trong trường hợp hầu hết các lần hợp nhất, SHA của chi nhánh đã được kiểm tra sẽ là phụ huynh đầu tiên và SHA của chi nhánh đã được hợp nhất sẽ là lần thứ hai. (Về cơ bản, chi nhánh được kiểm tra luôn là cha mẹ đầu tiên; các cha mẹ khác là các nhánh được chỉ định cho lệnh hợp nhất theo thứ tự của đặc tả của chúng.)
Nếu bạn muốn tìm SHA cho cha mẹ cụ thể, sử dụng toán tử caret:
- Đầu tiên mẹ:
git rev-parse <SHA>^1
- thứ hai cha mẹ:
git rev-parse <SHA>^2
vân vân.
Số cam kết 'thực tế' là giá trị băm SHA1 của nó. Điều này mang đến tính toàn vẹn tuyệt vời cho mục đích xác minh.
Nó cũng có hiệu ứng phụ tốt đẹp mà bạn không/không thể mong đợi nó theo bất kỳ cách nào tuần tự, cũng là thuộc tính tự nhiên của chi nhánh & hợp nhất hệ thống VCS phân phối nhiều người dùng. Có rất nhiều lệnh đi bộ và phương pháp tham chiếu các cam kết, chẳng hạn như HEAD^hoặc HEAD^^.
git help revisons
mô tả đầy đủ tất cả các cú pháp khác nhau.
Câu hỏi là về việc đánh số phụ huynh, không phải là các ID cam kết. tức là "Cha mẹ thứ nhất" "Cha mẹ thứ nhất" ('HEAD^1' so với' HEAD^2') – ABMagil
@ABMagil Câu hỏi ban đầu không giải thích rõ ràng về việc đếm trong cú pháp HEAD ^^ ~~, nó vừa nói về việc đánh số cam kết, về mặt kinh điển là sha1. Tôi đã hoàn thành bằng cách nói rằng phong cách HEAD^đã có sẵn - tôi chỉ thất bại trong việc đánh dấu 'git help revisons' như một nguồn. –
Thực hiện đăng nhập git hoặc git hiển thị trên cam kết hợp nhất sẽ hiển thị cho bạn danh sách cha mẹ để hợp nhất trong tiêu đề "Hợp nhất:". Điều này liệt kê các bậc cha mẹ của việc hợp nhất theo thứ tự tuần tự từ trái sang phải. Người đầu tiên là phụ huynh đầu tiên, thứ hai là cha mẹ thứ hai vv
Ví dụ trên kho git:
$ git show 0af53e188a3a8915f65c3b3edaeed3e07d8d3802
commit 0af53e188a3a8915f65c3b3edaeed3e07d8d3802
Merge: b81b758 8894d53
Author: Junio C Hamano <[email protected]>
Date: Thu Aug 11 11:04:28 2011 -0700
Merge branch 'cb/partial-commit-relative-pathspec'
* cb/partial-commit-relative-pathspec:
commit: allow partial commits with relative paths
b81b758 là phụ huynh đầu tiên, và 8894d53 là cha mẹ thứ hai cho hợp nhất cam kết 0af53e1.
Các cam kết bố mẹ được đánh số theo thứ tự xuất hiện trên dòng lệnh khi các cam kết được thực hiện:
[on branch master]
$ git merge foo bar baz
Đó sẽ hợp nhất các chi nhánh foo, quầy bar và baz vào tổng thể và tạo ra một kết hợp mới cam kết nếu không thể chuyển tiếp nhanh.
Trong kết quả hợp nhất, commit "master" sẽ là cha mẹ đầu tiên, "foo" 2nd, "bar" 3rd và "baz" thứ 4.
- 1. Làm cách nào để liệt kê các cam kết từ một số cam kết nhất định?
- 2. jQuery tìm phụ huynh cao nhất TD
- 3. Tìm phụ huynh phù hợp với jQuery
- 4. Cách tìm cam kết hợp nhất trước đó
- 5. JQuery, tìm phụ huynh
- 6. Hợp nhất Git cam kết
- 7. Làm cách nào để tìm các cam kết mới nhất trong một kho lưu trữ git?
- 8. Làm thế nào để tìm số lượng các phần tử bằng cách sử dụng jQuery
- 9. diff git duy nhất để hợp nhất cam kết
- 10. Nhận thay đổi giữa cam kết và phụ huynh với libgit2sharp
- 11. Làm cách nào để tìm ra tệp nào chiếm nhiều dung lượng nhất trong git repo?
- 12. Cách tìm số lượng tệp đã thay đổi từ một cam kết này sang cam kết khác trong git
- 13. Hợp nhất một cam kết cụ thể
- 14. Subversion: Cách hợp nhất một cam kết cụ thể
- 15. Làm cách nào để tìm thấy cam kết git gần đây nhất đã sửa đổi tệp?
- 16. Làm cách nào để tìm số lượng từ trong chuỗi?
- 17. svn: Làm cách nào để hoàn tác hợp nhất (không có cam kết)?
- 18. github api: Cách tìm hiệu quả số lượng cam kết cho một kho lưu trữ?
- 19. Làm cách nào để in số lượng kết quả trùng khớp duy nhất bằng grep?
- 20. Cách tốt nhất để tìm ra số lượng tab trong TabActivity là gì?
- 21. Hủy hợp nhất chi nhánh git, giữ các cam kết sau hợp nhất
- 22. Cách tìm phụ huynh của thẻ tập lệnh
- 23. Cách nhận tất cả phụ huynh cho đến khi một phụ huynh nào đó đạt được
- 24. Làm cách nào để tìm tệp trong mỗi thư mục có số lượng tệp cao nhất?
- 25. Làm cách nào để tham khảo cam kết ban đầu?
- 26. Làm cách nào để sắp xếp lại/kết hợp các cam kết bằng cách sử dụng Git rebase?
- 27. Lỗi SVN sau khi Hợp nhất và Cam kết
- 28. Làm thế nào để anh đào chọn một loạt các cam kết và hợp nhất thành một chi nhánh khác
- 29. Tôi làm cách nào để tìm danh sách các tệp được cam kết với chi nhánh?
- 30. git-svn hợp nhất và cam kết chi tiết
Câu trả lời hay, nhưng mối nguy hiểm nằm trong "hầu hết", không phải tất cả. Tôi có một repo git đã được chuyển đổi từ svn và một số hoạt động 'git-filter-branch' đã được thực hiện trên nó, và bây giờ nó xuất hiện trong một số trường hợp thứ tự là cách khác xung quanh. Xem http: // stackoverflow.com/questions/27704438/find-the-right-parent-of-a-merge-cam kết-in-a-non-interactive-way –