2010-08-13 28 views
10

Được rồi, tôi gần như có điều rebase này đã tìm ra.git di chuyển một nhánh bắt đầu về phía trước trong cây

tôi có thể cảm thấy một bước đột phá sắp tới - đây là điểm tới hạn:

Làm thế nào để làm một rebase để đi từ:

A - - B - - C - - D - - E (HEAD) 
| 
\ - - F - - G (branch1) 

Để:

A - - B - - C - - D - - E (HEAD) 
        | 
        \ - - F - - G (branch1) 

I don' t chỉ muốn hợp nhất HEAD ~ 1 vào branch1, tôi nghĩ rằng tôi muốn rebase branch1 phải không?

Tôi cảm thấy như tôi gần như lúng túng điều này - giúp đỡ !?

+2

Hóa ra đây * là * việc sử dụng đơn giản nhất của rebase. Tôi đoán tôi đã không nhận được nó bởi vì tôi đã làm cho nó quá phức tạp! – willoller

Trả lời

14

Đây là tiêu chuẩn rebase, không có gì phức tạp xảy ra. Bạn muốn:

git checkout branch1 
git rebase D 
+0

Ồ có vẻ quá dễ dàng. – willoller

+1

@wil Sẽ phức tạp hơn nếu bạn muốn rebase một phần của chi nhánh, giống như nếu bạn muốn G phân nhánh D nhưng để F phân nhánh A. Trong trường hợp này, bạn chỉ thay đổi base1 thành D thay vì A –

3

Điều này có thể được thực hiện với git rebase:

git checkout branch1 
git rebase {COMMIT ID of D} 
Các vấn đề liên quan