2013-02-25 28 views
8

Tôi tương đối mới sử dụng git.git: tạo chi nhánh tích hợp "tạm thời"

gần đây từ chủ chúng tôi phân nhánh + -10 chi nhánh tính năng. cho phép gọi chúng là A, B, C, v.v.

Tôi muốn kết hợp tất cả những thứ này lại với nhau để thử nghiệm. có ổn không nếu tôi tạo chi nhánh mới và hợp nhất các tính năng của tôi?

ví dụ

[master] git checkout -b integration 

[integration] git merge A 

[integration] git merge B 

[integration] etc 

khi tất cả các tính năng này đã được thử nghiệm và được chấp thuận, là nó sau đó an toàn để merge integration thành bậc thầy, và có lịch sử đối tượng chi nhánh duy trì trong nhật ký chủ

ví dụ

[integration] git checkout master 
[master] git merge integration 
[master] git branch -d integration 

Cảm ơn

Trả lời

8

Câu trả lời ngắn gọn: có.

Câu trả lời dài: có và giả sử không có thay đổi nào được thực hiện cho nhánh chính của bạn trong thời gian chờ đợi, hợp nhất của bạn với tổng thể sẽ là quá trình hợp nhất "nhanh" sau [master] git merge integration, nhánh chính sẽ giống như nhánh tích hợp trước hợp nhất.

"Lịch sử chi nhánh" sẽ xuất hiện trong nhánh chính. IMHO tốt nhất là không nên nghĩ về lịch sử của bạn là "lịch sử chi nhánh", thay vì "lịch sử mã".

Nếu bạn muốn ghi lại sự kiện, sự thay đổi bắt nguồn từ việc hợp nhất, sử dụng git merge --no-ff để buộc tạo một cam kết hợp nhất ngay cả khi cam kết chuyển tiếp nhanh (giữ lịch sử tuyến tính khi có thể) hoạt động.

Xem thêm Correct Git workflow for shared feature branch?

+0

cảm ơn câu trả lời chính xác – kabal

3

Chắc chắn, đó là f ine.

Theo mặc định (trừ khi bạn squash commit commits), bạn sẽ giữ lại toàn bộ lịch sử của từng tính năng và lịch sử tích hợp của chúng, ngay cả khi nhánh tạm thời biến mất.

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