Làm cách nào để giải quyết trạng thái git “Đường dẫn chưa hợp nhất:”?


83

Tôi đã hợp nhất chi nhánh dogvào animal. Khi tôi đi đến cam kết, tôi nhận được những điều sau:

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution
both deleted:       ../public/images/originals/dog.ai
added by them:      ../public/images/original_files/dog.ai

Tôi có các tên thư mục và tên tệp khác nhau trong mỗi nhánh. Các animalchi nhánh có những thay đổi mà tôi muốn.

Khi tôi đi đặt lại đầu, nó không hoạt động. Và khi tôi thực hiện bất kỳ hành động git nào khác (xóa, thanh toán, v.v.), tôi gặp path not foundlỗi.

Tôi cần thực hiện những lệnh nào để giải quyết vấn đề này?

Câu trả lời:


81

Tất cả những gì bạn cần làm là:

# if the file in the right place isn't already committed:
git add <path to desired file>

# remove the "both deleted" file from the index:
git rm --cached ../public/images/originals/dog.ai

# commit the merge:
git commit

25
giải thích thêm sẽ có ích
Francisco Ochoa

48

Một cách khác để xử lý tình huống này nếu tệp của bạn đã được đăng ký và tệp của bạn đã được hợp nhất (nhưng không được cam kết, do đó xung đột hợp nhất được chèn vào tệp) là chạy:

git reset

Thao tác này sẽ chuyển sang HEAD và yêu cầu git quên mọi xung đột hợp nhất và giữ nguyên thư mục làm việc. Sau đó, bạn có thể chỉnh sửa các tệp được đề cập (tìm kiếm thông báo "Đã cập nhật ngược dòng"). Khi bạn đã giải quyết các xung đột, bạn có thể chạy

git add -p

điều này sẽ cho phép bạn tương tác chọn những thay đổi mà bạn muốn thêm vào chỉ mục. Khi chỉ mục có vẻ tốt ( git diff --cached), bạn có thể cam kết, và sau đó

git reset --hard

để hủy tất cả các thay đổi không mong muốn trong thư mục làm việc của bạn.


"Updated upstream" noticesgì?
Saikat

2
@takias: mốc trong mỗi tập tin mà hình như: <<<<<<< [branch] \n [content] \n ==== \n [content] \n [branch] >>>>>>>. Tôi nghĩ rằng định dạng có thể đã thay đổi một chút kể từ khi tôi viết bài này, nhưng hãy xem wincent.com/wiki/Git_merge_conflict_cheatsheet để biết ví dụ.
naught101
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.