Tôi đang ở trong một tình huống mà một số thay đổi được thực hiện trong một nhánh tính năng không được phản ánh trong chính, mặc dù nhánh này đã được hợp nhất vào nó. Tôi không hiểu tại sao. Để đơn giản, chúng ta hãy nói điều này cam kết đã một băm "A" và thay đổi tập tin "tập tin"Git "missing" commit
này có lẽ là tốt nhất được minh họa bằng các lệnh sau:
$ git checkout master
$ git branch --contains A
* master
feature_branch
$ git log file | grep A
(no output)
$ git checkout feature_branch
$ git log file | grep A
A
bất cứ ai có thể giải thích những gì đang xảy ra ở đây? Quan trọng hơn, có điều gì có thể được thực hiện để ngăn chặn điều này trong tương lai không?
EDIT:
Như đã đề cập bởi một vài người, sau đây không thể hiện cam kết:
$ git checkout master
$ git log --follow file | grep A
A
Nhưng vấn đề là ... tập tin đã không đổi tên. Vì vậy mà không giải thích đầy đủ mọi thứ, hoặc là ..
Đầu ra nào, nếu có, bạn nhận được nếu bạn chạy 'git log A..master'? – Jubobs
Bạn đã hợp nhất như thế nào? Hợp nhất có thể ghi lại các cam kết (ví dụ: bí). –
Có đầu ra. Rất nhiều đầu ra. Cam kết đặc biệt này đã được thực hiện hơn một tháng trước .. nó chỉ gần đây đã mang đến sự chú ý của tôi rằng nó đã không được phản ánh trong chủ. –