簡體   English   中英

git merge重命名沖突

[英]git merge rename conflict

我從現有分支創建了一個新分支:

git checkout master
git checkout -b test

然后在新分支中我重命名了一個文件:

git mv foo.txt fooOld.txt
git mv fooNew.txt foo.txt
git commit -am "Rename file"

與此同時,其他人編輯了主分支上的fooNew.txt並推送了更改:

git co master
echo "Some changes" >> fooNew.txt
git commit -am "Do some important changes"
git push origin master

現在當我嘗試從master中提取更改時出現錯誤:

CONFLICT (modify/delete): fooNew.txt deleted in HEAD and modified in master.

如何合並這兩個分支,以便最終得到一個foo.txt文件,其中包含對master上的fooNew.txt所做的更改?

使用你的方法,我沒有問題。

$ git checkout -b test
Switched to a new branch 'test'

$ git mv foo.txt fooOld.txt

$ git mv fooNew.txt foo.txt

$ git commit -am "Rename file"
[test bf82f6d] Rename file
 1 files changed, 0 insertions(+), 0 deletions(-)
 rename fooNew.txt => fooOld.txt (100%)

$ git checkout master
Switched to branch 'master'

$ echo "Some changes" >> fooNew.txt

$ git commit -am "Do some important changes"
[master 653c0df] Do some important changes
 1 files changed, 1 insertions(+), 0 deletions(-)

$ git checkout test
Switched to branch 'test'

$ git merge master
Auto-merging fooOld.txt
Merge made by the 'recursive' strategy.
 fooOld.txt |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM