Thật đáng để hiểu những thông báo lỗi đó có nghĩa là gì - needs merge
và error: you need to resolve your current index first
chỉ ra rằng việc hợp nhất không thành công và có những xung đột trong các tệp đó. Nếu bạn đã quyết định rằng bất cứ sự hợp nhất nào bạn đang cố gắng thực hiện đều là một ý tưởng tồi, bạn có thể đưa mọi thứ trở lại bình thường với:
git reset --merge
Tuy nhiên, nếu không, bạn nên giải quyết các xung đột hợp nhất đó, như được mô tả trong hướng dẫn git .
Khi bạn đã xử lý vấn đề đó bằng một trong hai kỹ thuật, bạn sẽ có thể kiểm tra 9-sign-in-out
chi nhánh. Vấn đề với việc đổi tên của bạn 9-sign-in-out
thành master
, như được đề xuất trong câu trả lời của wRAR là nếu bạn đã chia sẻ chi nhánh chính trước đó với bất kỳ ai, điều này sẽ tạo ra vấn đề cho họ, vì nếu lịch sử của hai chi nhánh chuyển hướng, bạn sẽ xuất bản viết lại lịch sử.
Về cơ bản những gì bạn muốn làm là hợp nhất nhánh chủ đề của bạn 9-sign-in-out
vào master
nhưng chính xác giữ các phiên bản của các tệp trong nhánh chủ đề. Bạn có thể làm điều này với các bước sau:
# Switch to the topic branch:
git checkout 9-sign-in-out
# Create a merge commit, which looks as if it's merging in from master, but is
# actually discarding everything from the master branch and keeping everything
# from 9-sign-in-out:
git merge -s ours master
# Switch back to the master branch:
git checkout master
# Merge the topic branch into master - this should now be a fast-forward
# that leaves you with master exactly as 9-sign-in-out was:
git merge 9-sign-in-out