hợp nhất một chi nhánh địa phương thành một chi nhánh địa phương khác


166

Tôi có nhiều nhánh được phân nhánh khỏi chủ (mỗi nhánh trong một thư mục con riêng).

  • Chi nhánh 1: phát triển mới, chưa hoàn thành
  • Branch2: hotfix cho một vấn đề, nhưng vẫn đang được thử nghiệm
  • Nhánh 3: lộn xộn quanh nhánh, mà tôi sẽ không khôi phục

Trước khi kiểm tra hotfix xong, tôi muốn có sẵn mã trong Branch1, vì vậy tôi có thể tiếp tục phát triển với bản sửa lỗi.
.

Trong chi nhánh thứ 3 của tôi lần đầu tiên tôi đã thử như sau:

git merge feature/Branch1

nhưng điều này đã đưa ra lỗi sau:

fatal: 'feature/Branch1' does not point to a commit

Tiếp theo tôi đã thực hiện một cam kết -a trong Chi nhánh1 của mình và thử lại, nhưng nó vẫn đưa ra cùng một lỗi.

Tôi đang làm gì sai? Tôi nên làm gì để hợp nhất mã từ - trong trường hợp này - Branch1 với Branch3?

Câu trả lời:


235

Đầu tiên, hãy kiểm tra Chi nhánh 3 của bạn:

git checkout Branch3

Sau đó hợp nhất Branch1:

git merge Branch1

Và nếu bạn muốn các cam kết được cập nhật của Branch1 trên Branch2, bạn có thể đang tìm kiếm git rebase

git checkout Branch2
git rebase Branch1

Điều này sẽ cập nhật Branch2 của bạn với các bản cập nhật mới nhất của Branch1.


1
(Tôi muốn các bản cập nhật của Branch2 lên Branch1 ;-)) Branch2 không thấy Branch1, nhưng không phải là cách khác khi tôi thực hiện một nhánh git -a ở cả hai nhánh. Do đó tôi không thể thực hiện rebase đến Branch2 trong Branch1: git rebase Branch2 -> fatal: Cần một phiên bản duy nhất
Nemelis 11/07/2016

Khi tôi thực hiện rebase dưới dạng git rebase origin / Branch2, nó vẫn đưa ra thông báo lỗi đó + nguồn gốc ngược dòng không hợp lệ /
Branch2

1
@ Si8 này sẽ chỉ thêm các cam kết từ Branch1 đến Branch3. Branch1 sẽ được giữ nguyên.
gabra

1
Cảm ơn bạn vì vậy nếu tôi hiện đang ở chi nhánh Dev và tôi hợp nhất Dev1, nó sẽ hợp nhất Dev1 với Dev, tôi có đúng không?
Si8

1
Đúng. Tôi khuyên bạn nên thử nó. Nếu một cái gì đó phá vỡ, bạn có thể quay trở lại. Đó là mục đích của một VCS.
gabra
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.