Khi tôi làm việc trên hai tính năng khác nhau (trên hai chi nhánh khác nhau được tạo từ master), điều này khá khó chịu và không có lịch sử cam kết khi tiếp tục hợp nhất.Giữ lịch sử cam kết sau khi 'hợp nhất git'
Tôi sẽ giải thích rõ hơn. Khi tôi hoàn thành công việc trên Chi nhánh-A, tôi hợp nhất nó vào chính. Và đó là tốt, nếu tôi git log
Tôi thấy tất cả các cam kết tôi đã thực hiện trên Chi nhánh-A.
Thay vào đó, khi tôi hoàn thành công việc trên Chi nhánh-B và tôi cố gắng kết hợp nó với chủ (sau đó Chi nhánh-A đã được đã được sáp nhập), tôi phải chỉ định một cam kết thông báo cho việc sáp nhập (trong khi đối với chi nhánh đầu tiên tôi chưa được hỏi bất kỳ điều gì). Và sau khi sáp nhập để chủ, nếu tôi gõ git log
, tôi không thể nhìn thấy các cam kết của Chi nhánh-B trong lịch sử của chủ của tôi chi nhánh
Hãy nói rằng tôi có
**Branch A**
commit 09b2unfas9d781n2e
Add more stuff
commit 8uj8masd89jas898a
Add stuff
**Branch B**
commit 09b2unfas9d781n2e
Add feature setting
commit 8uj8masd89jas898a
Add feature
Tôi hoàn thành việc có
**Master**
commit 6hf6h8hd871udjkdn
Merge: 09b2un 34osd6
Merge branch 'Branch-B' into master
commit 09b2unfas9d781n2e
Add more stuff
commit 8uj8masd89jas898a
Add stuff
commit 34osd62dhc91123j8
I'm a previous commit from 'master'.
The last one before branching...
trong khi Tôi muốn o btain cái gì đó như:
**Master**
commit 09b2unfas9d781n2e
Add feature setting
commit 8uj8masd89jas898a
Add feature
commit 09b2unfas9d781n2e
Add more stuff
commit 8uj8masd89jas898a
Add stuff
commit 34osd62dhc91123j8
I'm a previous commit from 'master'.
The last one before branching...
... đó sẽ phản ánh chính xác hơn về lịch sử của các cam kết thực hiện.
Tôi không hiểu tại sao tôi có thể giữ lịch sử chỉ từ một trong hai nhánh.
Làm cách nào để giữ mọi thứ rõ ràng nếu không có những người hợp nhất cam kết ẩn/bỏ qua lịch sử thực sự của các cam kết đã hợp nhất?
Tôi cần hợp nhất 'master' thành' branch-b' khi tôi có thay đổi trong cả hai. Làm thế nào tôi có thể viết lại 'branch-b' như nó đã được bắt đầu từ commit' G', không phải 'E'? Nhưng giữ lại lịch sử commit của 'branch-b' và commit các thay đổi thành' branch-b' là xung đột. Giả sử tôi chỉ là người biết về 'branch-b'. – hlcs
Nvm nó chính xác 'git rebase master'. – hlcs