$ git log --graph --decorate --oneline
* 1f3e836 (HEAD, origin/v2, v2) Change scripts to new format.
* 34d458f (origin/master, master) Merge branch 'new-shell'
|\
| * 995ece7 (origin/new-shell) Fix index.html and add script pushing.
| * fe0615f New shell hello-world.
|/
* fe1b1c0 Progress.
...
git log --graph --decorate --oneline
sẽ hiển thị cho bạn tên của các cam kết có tên. Không phải mọi cam kết đều được liên kết với tên chi nhánh.
Hãy nhớ rằng, tên chi nhánh chỉ là một con trỏ đến một cam kết cụ thể. Mỗi cam kết có một phụ huynh, do đó, một cam kết có thể là một phần của lịch sử của một chục chi nhánh riêng biệt.
- Bạn có thể xem chi nhánh nào có cam kết qua
git branch --contains <ref>
.
- Nếu bạn chỉ cần một số loại tên tượng trưng để theo dõi một cam kết, hãy sử dụng
git name-rev <ref>
.
Nếu bạn cần một danh sách vỏ kịch bản ("plumbing") của tất cả các chi nhánh có chứa một cam kết, cố gắng này:
commit=$(git rev-parse <ref>) # expands hash if needed
for branch in $(git for-each-ref --format "%(refname)" refs/heads); do
if git rev-list "$branch" | fgrep -q "$commit"; then
echo "$branch"
fi
done
Xem thêm: SO: Finding what branch a commit came from
Nguồn
2012-12-19 15:40:24
1 để cung cấp một giải pháp duy nhất sử dụng Git hệ thống ống nước. –
Còn về 'git branch --contains ' thì sao? Kịch bản lệnh 'COMMIT = ... for ... done' shell làm gì với' git branch --contains' thì không? –
@Colin 'git branch --contains' thật tuyệt! Đó là lý do tại sao nó là viên đạn đầu tiên trong ba lựa chọn được liệt kê của tôi. :) Điều này là 'git branch' không có đầu ra được đảm bảo - nó có thể thay đổi định dạng trong các phiên bản tương lai - vì vậy bạn có thể không muốn sử dụng nó trong các tập lệnh tồn tại lâu dài. Đây là một phần của sự tách rời [ống dẫn nước bằng sứ] (http://git-scm.com/book/ch9-1.html): Nếu bạn là người đọc đầu ra, bạn có thể sử dụng các lệnh bằng sứ như 'git branch ', nhưng nếu bạn đang viết một công cụ, bạn sẽ muốn sử dụng các lệnh hệ thống ống nước như' for-each-ref' và 'rev-list' đảm bảo định dạng đầu ra của chúng. –