我有两个本地分支机构master
和dev
. 两个分支都包含三个文件夹:
projectBeta
project
project_v1
我只想保留projectBeta
并删除project
,project_v1
然后重命名projectBeta
为project
. 所以这就是我在两个分支上分别做的事情,我一直在做。在我尝试将dev
分支合并到 master 之前,一切看起来都很好,我得到了一堆这样的错误:
CONFLICT (rename/delete): Rename projectBeta/test.c->project/test.c in dev and deleted in HEAD
CONFLICT (rename/delete): Rename project_v1/test.c->project/test.c in HEAD and deleted in dev
所以看起来 Git 在不同的分支中以不同的方式跟踪重命名。
如果我做 a git status
,我会得到
# On branch master
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# added by us: project/test.c
#
no changes added to commit (use "git add" and/or "git commit -a")
我不明白的第一件事是,当合并报告说它被我们和他们重命名和删除时,为什么状态只是说它是“我们添加的”?
其次,我想使用test.c的dev分支版本(它们),但是现在当我尝试
git co --theirs project/test.c
我明白了
error: path 'project/test.c' does not have their version
...所以我不知道如何确保合并将使用 dev 分支中的内容?
最后,有没有一种最佳实践方法可以避免将来出现这样的混乱局面?基本上,在内容尚未准备好首先合并的分支中独立更改文件夹结构......