2013-06-26 39 views
34

Tôi có hai nhánh có rất ít lịch sử tương tự nhau, nhưng có liên quan với nhau.git tạo ra cam kết từ sự khác biệt giữa hai chi nhánh

Tôi muốn thay đổi giữa hai số này trong một cam kết git.

file đã bị xóa và tạo ra giữa những bản vá lỗi và tôi muốn các bản vá để phản ánh rằng

ví dụ: các công cụ sau đây sẽ không làm việc:

git diff branch_a branch_b -- > patchfile 
git checkout branch_b 
git apply patchfile # deletes and adds are ignored 
git commit # we miss the deletes 

Trả lời

64

Một cách đơn giản để làm điều đó là:

- create and checkout branch tmp at branch_a 
- reset --soft to branch_b 
- commit 

rằng cam kết phải có tất cả các diff

+1

bạn không cần cam kết chung hoặc thậm chí chạm vào các nhánh phía trước. chỉ cần thử làm điều đó trong gitk - khi bạn thử nghiệm trên nhánh mới sẽ biến mất, dù sao bạn có một lần chạy miễn phí. –

+0

Làm việc cho tôi bằng cách sử dụng git 1.7.9.5 – wischan

+1

Bạn có thể hiển thị ví dụ không? Cảm ơn ! – Charaf

-3

Xem 012.. Đó là lý do tại sao nó không làm gì cả.

Ngoài ra, hãy chắc chắn bạn đang ở trong thư mục gốc để .git phải ở đó.

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