Nếu bạn có nghĩa là cam kết cuối cùng bạn bị đẩy đến chi nhánh master
sau đó, giả sử từ xa của bạn là origin
:
git rev-parse origin/master
này sẽ cho bạn thấy ID của đỉnh của master
chi nhánh của gốc origin
cam kết, do kho lưu trữ cục bộ của bạn hiện đang nhận thức được. Điều này có thể có nghĩa là cam kết là cam kết của người khác, nếu người khác đã đẩy cam kết sau khi bạn đã thực hiện và bạn có kể từ ngày fetch
đã chỉnh sửa nhánh đó.
git show -p origin/master
Lệnh này sẽ cung cấp cho bạn thông tin về cam kết, bao gồm ID cam kết, tác giả, thông điệp tường trình và khác với (các) cam kết gốc.
Một trong Git yêu thích của tôi lệnh cho làm chính xác những loại kiểm tra:
git log --pretty=oneline --abbrev-commit --graph --decorate --all
này sẽ hiển thị một biểu đồ ASCII-art đẹp của lịch sử cam kết, và từng cam kết sẽ hiển thị bất kỳ refs đó đang nhắm mục tiêu nó. Bằng cách này, bạn có thể, trong nháy mắt, xem chi nhánh và sáp nhập trong lịch sử và dễ dàng nhìn thấy nơi origin/master
là liên quan đến của riêng bạn master
.
wow cảm ơn cdhowie rằng lệnh cuối cùng là tuyệt vời, nó thực sự hữu ích! tôi có lẽ nên hỏi này trong một câu hỏi riêng biệt nhưng những gì được coi là tốt hơn -git rebase -i -git merge --squash gì tôi muốn làm, là sáp nhập chi nhánh dev của tôi với thầy, nhưng có 100 của tôi + commmits nén thành nói 4. Không 1, vì có lẽ 4 điểm chính trong lịch sử của nó – chrispepper1989
Nếu bạn đã đẩy nhánh dev của bạn sau đó squashing nó là một ý tưởng tồi, như những người khác sẽ được tự do chi nhánh từ công việc của bạn. Nếu nó công khai, đừng thay đổi nó. Nếu nó không được công khai thì 'git rebase -i' sẽ cho phép bạn chọn các cam kết riêng biệt mà bạn muốn giữ lại trong lịch sử và bạn muốn sử dụng chúng. 'git merge --squash' sẽ chỉ cung cấp cho bạn cơ hội để tạo ra một cam kết, vì vậy cuối cùng nó phụ thuộc vào bao nhiêu đối tượng commit bạn muốn. – cdhowie