2012-11-25 31 views
6

Tôi vừa bắt đầu sử dụng Git trên Windows. Tôi đang lưu trữ trên BitBucket và sử dụng TortoiseGit làm ứng dụng khách Windows.Biểu đồ nhật ký trong TortoiseGit không hiển thị chi nhánh/hợp nhất?

Mọi thứ đang di chuyển đúng hướng, nhưng tôi không biết gì ở một điểm. Tôi đã làm việc trên nhánh chính, và tại một thời điểm tạo ra một chi nhánh mới. Sau đó, tôi tiếp tục làm việc trên chi nhánh mới và tiếp tục cam kết, thúc đẩy. Cuối cùng khi tôi đã hoàn thành, tôi đã sáp nhập nhánh mới này (mã hóa) lại thành master.

Bây giờ khi tôi thực hiện 'Hiển thị Nhật ký' và chọn 'Tất cả các chi nhánh', tôi chỉ nhận được một đường thẳng trong biểu đồ. Không có thông tin từ khi một chi nhánh được đưa ra, và khi nó sáp nhập trở lại. Xin vui lòng hep tôi tìm thấy thông tin này.

Version graph

Trả lời

6

Đó có thể là bởi vì hợp nhất của bạn là một nhanh về phía trước hợp nhất, điều đó có nghĩa rằng đã không có bất kỳ cam kết thực hiện để master ở giữa thời điểm codetidy được tạo ra và khi nó được sáp nhập trở lại trong - vì vậy Git chỉ cần di chuyển master để trỏ đến cùng một cam kết (vì nó đã có nội dung tệp chính xác giống như nội dung hợp nhất), thay vì tạo một cam kết hợp nhất không cần thiết.

Nếu bạn không muốn hành vi này, bạn cần phải buộc Git tạo một cam kết hợp nhất riêng biệt - trên dòng lệnh, điều này được thực hiện với git merge --no-ff. Trong TortoiseGit, nó được thực hiện thông qua việc kiểm tra hộp kiểm "No Fast Forward" trong cửa sổ hợp nhất (xem this previous StackOverflow answer cho ảnh chụp màn hình).

+0

có, bạn đã đúng. Không có cam kết về chủ. Điều này nghe có vẻ là một điều khôn ngoan được thực hiện bởi git. Nhưng khi git chuyển chủ để trỏ đến cam kết mới nhất nếu mã hóa, điều gì xảy ra nếu bây giờ tôi cuối cùng đã xóa chi nhánh như thực tế tôi đã hợp nhất và được thực hiện với chi nhánh? –

+1

Sau đó, 'master' sẽ vẫn trỏ đến cùng một vị trí cả hai nhánh hiện đang trỏ. Các nhánh trong Git chỉ đơn giản là con trỏ để cam kết; hiện tại bạn có hai con trỏ trỏ đến cùng một cam kết. Nếu bạn xóa một trong các con trỏ, con trỏ còn lại sẽ trỏ đến cam kết đó. – Amber

Các vấn đề liên quan