2012-01-22 26 views
104

Tôi có kho lưu trữ Git có nhánh (cục bộ và từ xa) đã trở nên lỗi thời. Tôi muốn đưa chi nhánh này đến nay với chi nhánh chính, nhưng tôi không biết làm thế nào để làm điều này. Cũng có thể có nhiều xung đột hợp nhất.Cập nhật chi nhánh lỗi thời đối với tổng thể trong repo Git

Làm cách nào để tôi có thể mang hoặc cập nhật chi nhánh lỗi thời này về cùng trạng thái với chi nhánh chính?

+1

nếu bạn đến đây để tìm hiểu cách cập nhật chi nhánh đã lỗi thời với master trong repo Git nếu bạn không thực hiện bất kỳ thay đổi nào trong chi nhánh địa phương, sau đó chỉ cần thực hiện lệnh "git pull" – shabby

Trả lời

132

Cập nhật nhánh chính mà bạn cần làm bất kể.

Sau đó, một trong số:

  1. rebase những nhánh già so với chi nhánh tổng thể. Giải quyết các xung đột hợp nhất trong quá trình rebase, và kết quả sẽ là một nhánh cập nhật kết hợp sạch với master.

  2. Hợp nhất nhánh của bạn thành chính và giải quyết xung đột hợp nhất.

  3. Hợp nhất chính vào chi nhánh của bạn và giải quyết xung đột hợp nhất. Sau đó, sáp nhập từ chi nhánh của bạn vào tổng thể nên được sạch sẽ.

Không cái nào trong số này tốt hơn loại kia, chúng chỉ có các mẫu giao dịch khác nhau.

Tôi sẽ sử dụng cách tiếp cận rebase, mang lại kết quả tổng thể rõ ràng hơn cho độc giả sau này, theo ý kiến ​​của tôi, nhưng đó không là gì ngoài sở thích cá nhân.

Để rebase và giữ cho chi nhánh bạn sẽ:

git checkout <branch> && git rebase <target> 

Trong trường hợp của bạn, hãy kiểm tra các chi nhánh cũ, sau đó

git rebase master 

để có được nó được xây dựng lại với tổng thể.

+0

lệnh rebase các chi nhánh? – Andrew

+1

@Andrew: 'git rebase' :) – CharlesB

+1

' git checkout $ branch && git rebase $ target' - trong trường hợp của bạn, hãy kiểm tra nhánh cũ, sau đó 'git rebase master' để làm cho nó được xây dựng lại với master. –

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