2012-04-06 35 views
32

Tôi có một chi nhánh với các nguồn thực tế và tôi đã không thực hiện bất kỳ cam kết nào trong một thời gian dài để làm chủ, và tại thời điểm nó hoàn toàn lỗi thời. Tôi muốn thay thế nội dung của chủ nhân bằng nội dung của chi nhánh của tôi. Một cách để làm điều đó là kiểm tra cả nhánh và master, xóa nội dung của chủ và sao chép nội dung từ nhánh này sang nhánh kia, và sau đó là kết quả đẩy tới master.Git - di chuyển nhánh tới master

Nó hoạt động, nhưng tôi tin rằng phải có một số lệnh git để làm điều đó một cách đơn giản hơn.

Có ai biết cách làm điều đó không?

+0

ban đầu Bạn biết rằng không còn giá trị nào trên tổng thể? Bạn có thể kiểm tra với 'git log branch..master' để xem có bất kỳ commit nào trên master không phải trên branch. Nếu có bất kỳ, sau đó 'git checkout master; git merge branch 'sẽ bao gồm các thay đổi trong các commit đó. – Kent

Trả lời

56

Bạn có thể sử dụng lệnh sau đây để có điểm tổng thể để một vị trí mới:
git branch -f master branchToMoveMasterTo

Điều này là thực sự làm là tạo ra một chi nhánh mới được gọi là master trỏ đến branchToMoveMasterTo. Vì chúng tôi đã có một chi nhánh được gọi là tổng thể, chúng tôi cần cờ -f để nói rằng chúng tôi muốn xóa master

+0

Câu trả lời này chắc chắn nên được chấp nhận! – user984621

+4

cảm ơn bạn jesus – dezman

+0

Điều này hoạt động tốt. Nhưng liệu có cách nào để bảo tồn lịch sử của vị thầy già? Ý tôi là, làm thế nào nó có thể trông giống như một cam kết thông thường, nhưng thay đổi mọi thứ? –

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