Sau khi hợp nhất nhánh, tôi đã nhận được conflict (rename/rename)
trên nhiều tệp, với file~HEAD
và tạo file~my_test_branch
. Làm thế nào để giải quyết những?Xung đột Git (đổi tên/đổi tên)
Cảm ơn
Sau khi hợp nhất nhánh, tôi đã nhận được conflict (rename/rename)
trên nhiều tệp, với file~HEAD
và tạo file~my_test_branch
. Làm thế nào để giải quyết những?Xung đột Git (đổi tên/đổi tên)
Cảm ơn
Do sau thử nghiệm thiết lập:
git init resolving-rename-conflicts
cd resolving-rename-conflicts
echo "this file we will rename" > will-be-renamed.txt
git add -A
git commit -m "initial commit"
git checkout -b branch1
git rename will-be-renamed.txt new-name-1.txt
git commit -a -m "renamed a file on branch1"
git checkout -b branch2 master
git rename will-be-renamed.txt new-name-2.txt
git commit -a -m "renamed a file on branch2"
git checkout master
Sau đó sáp nhập branch1 và branch2
git merge --no-ff branch1
git merge --no-ff branch2
Sản lượng:
CONFLICT (rename/rename): Rename "will-be-renamed.txt"->"new-name-1.txt" in branch "HEAD" rename "will-be-renamed.txt"->"new-name-2.txt" in "branch2"
Automatic merge failed; fix conflicts and then commit the result.
git status
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
added by us: new-name-1.txt
added by them: new-name-2.txt
both deleted: will-be-renamed.txt
no changes added to commit (use "git add" and/or "git commit -a")
Nếu bạn muốn giữ lại một file, nói new-name-2.txt
:
git add new-name-2.txt
git rm new-name-1.txt will-be-renamed.txt
git commit
Tất nhiên trong chosing một tập tin này hay cách khác, bạn có thể có những thay đổi khác để làm cho các tập tin mà tham khảo tập tin này bằng tên. Ngoài ra, nếu có các thay đổi không đổi tên khác đối với tệp, trước khi đăng hoặc đổi tên trên các nhánh, bạn sẽ cần phải phân biệt thủ công và hợp nhất chúng để giữ chúng trong tệp bạn đang giữ lại.
Nếu bạn thay vì muốn giữ cả hai tập tin:
git add new-name-1.txt new-name-2.txt
git rm will-be-renamed.txt
git commit
Chọn những tập tin này nên duy trì ở các tập tin nhất định, và phải làm gì với cái kia nhỉ? Hoặc kết hợp nội dung của họ bằng tay, sau đó thêm kết quả và cam kết hợp nhất. – millimoose
http://stackoverflow.com/questions/4679901/git-divergent-renaming có thể trợ giúp tại đây. – VonC