Tôi và ngã ba của bạn tôi từ kho lưu trữ chính (phía trên). Đêm qua, chúng tôi đã có cùng một phiên bản của kho lưu trữ này trong máy địa phương. Sau đó, tôi đã thêm một tính năng mới và bạn tôi cũng đã thêm một tính năng mới nữa. Bạn tôi đã kéo yêu cầu tới kho lưu trữ chính và tôi đã hợp nhất yêu cầu kéo này với kho lưu trữ ngược dòng không có xung đột. Và khi tôi lấy từ thượng nguồn và hợp nhất với nhánh chủ của tôi, nó xung đột. Tôi nên làm gì trong tình huống này để giải quyết xung đột? (Kho lưu trữ phía trên phải có 2 tính năng mới sau khi giải quyết xung đột)Kết hợp xung đột Git
Trả lời
Chỉ cần xem các tệp được đánh dấu là xung đột git status
và tìm dấu xung đột (bạn có thể tìm kiếm ====
trong tệp). Hòa hợp các thay đổi giữa chúng, tìm hiểu xem có bất kỳ điều gì bất ngờ khác bị hỏng do sự kết hợp mã của bạn hay không, chạy thử nghiệm của bạn và sau đó sử dụng git add
và git commit
như bình thường để thực hiện cam kết hợp nhất tính năng mới của bạn với bạn.
Upstream: original with friend's feature with both
\ \ / \ /
\ -- Friend's --/ \ /
\ \ /
---- Yours ------------------------- your merge
Bạn có thể gõ git difftool path/filename
trong giao diện điều khiển để sử dụng một công cụ để giải quyết mâu thuẫn hoặc sử dụng phần mềm Git đã giải quyết xung đột được xây dựng trong. Tôi thực sự thích SmartGit (từ các nhà sản xuất của SmartSVN) và TortoiseGit (rất giống với TortoiseSVN).
Lưu ý rằng bạn cũng có thể giải quyết trực tiếp một cuộc xung đột nhập từ Eclipse/Egit bản thân:
Xem "Egit: Solving Merge Conflicts":
Bạn có thể tự chỉnh sửa văn bản ở phía bên trái hoặc sử dụng Copy thay đổi hiện tại từ nút phải sang trái để sao chép các thay đổi xung đột từ phải sang trái.
Bước tiếp theo là từ menu ngữ cảnh của tệp, để chọn Nhóm -> Thêm vào chỉ mục. Hơn cam kết.
Xem thêm http://stackoverflow.com/questions/11674950/how-to-do-an-ours-merge-using-the-eclipse-git-merge-tool làm ví dụ về cách sử dụng công cụ đó. – VonC
- 1. Git: hợp nhất xung đột và cam kết thông báo
- 2. Kết hợp xung đột trong .gitignore
- 3. Git xung đột dấu
- 4. Xung đột với `git rebase`
- 5. `git stash` trong một cuộc xung đột hợp nhất
- 6. Git xung đột rebase không có gì để hợp nhất?
- 7. Các xung đột hợp nhất/rebase màu Git
- 8. Móc git cho các xung đột hợp nhất
- 9. Giải quyết các xung đột Git Svn
- 10. Xung đột Git (đổi tên/đổi tên)
- 11. lỗi git push không có xung đột
- 12. Thả cam kết cũ: `git rebase` gây xung đột hợp nhất
- 13. Hợp nhất giải quyết xung đột
- 14. Giải quyết xung đột trong git
- 15. Cách xử lý các xung đột hợp nhất tích hợp Git
- 16. git tìm thấy số xung đột/danh sách xung đột trong thư mục làm việc
- 17. Tại sao git rebase thường có ít xung đột hợp nhất hơn so với hợp nhất?
- 18. cherry-hái với git với một cuộc xung đột
- 19. cách giải quyết xung đột kéo git trong xcode ui
- 20. CONFLICT (nội dung): Hợp nhất xung đột trong
- 21. Làm thế nào để buộc một git merge xung đột
- 22. xung đột git-subtree khi kéo từ repo trung tâm
- 23. Hợp nhất các xung đột cập nhật từ phía trên
- 24. Thay đổi điểm đánh dấu xung đột git
- 25. Giải quyết xung đột Git bằng các tệp nhị phân
- 26. Cách sửa CRLF trong kho GIT để tránh xung đột hợp nhất
- 27. Xung đột GITHUB Giải quyết
- 28. git reword mà không giải quyết xung đột hợp nhất lần nữa
- 29. Làm cách nào để sử dụng git difftool cho các xung đột hợp nhất khác?
- 30. Sử dụng tìm nạp git-tfs để tìm nguyên nhân mới nhất xung đột hợp nhất
Cảm ơn bạn, thông tin thực sự hữu ích. –