git合并错误 - 我们的 - "未跟踪的工作树文件"

时间:2016-01-25 22:39:19

标签: git merge

我从Laravel 4.2迁移到Laravel 5。为此,我克隆了我的主分支,并在新功能分支中完成了所有更改。

我现在已经完成了迁移,并准备用我的新功能分支的内容替换我的主分支的内容。我在git上相当弱,但我发现这个SO答案看起来很简单:How to replace master branch in git, entirely, from another branch? - 这是简短的版本:

git checkout seotweaks
git merge -s ours master
git checkout master
git merge seotweaks

当我进入第三步并尝试签出主分支时,我收到以下错误:

The following untracked working tree files would be overwritten by checkout:

包含我app/models文件夹中每个文件的列表。我没有任何本地更改尚未提交并推送到新功能分支。

我确实移动了该文件夹作为迁移的一部分,但我可以在bitbucket上的新功能分支上看到源中引用的文件。

有没有人看到我失踪的一个步骤,或者知道我可以采取不同的方法来实现这一目标?

编辑:

git checkout FTW - 工作正常

git merge -s ours master - 工作正常

git checkout master fails - 请参阅下面的错误。

git checkout master的结果:

vagrant@homestead:~/Development/memberSherpa$ git checkout master
error: The following untracked working tree files would be overwritten by      checkout:

app/models/Authors.php
app/models/BusinessAct.php
app/models/Contractor.php
app/models/Customer.php
app/models/Dues.php
app/models/Email.php
app/models/Groups.php
app/models/Skill.php
app/models/Txt.php
app/models/User.php
app/models/UserGroup.php

Please move or remove them before you can switch branches.
Aborting

git status的结果:

On branch FTW
Your branch is up-to-date with 'username/FTW'.

nothing to commit, working directory clean

编辑2:

这是SourceTree的一个屏幕截图,显示我升级到L5时的提交。

创建FTW分支后,我必须对主服务器上的API进行一些更改(9次提交)。这些变化今天早些时候被添加到FTW。我已经突出显示了移动模型的提交。

sourceTree

1 个答案:

答案 0 :(得分:0)

git并不知道这些本地更改与repo中已存在的更改相同,因为当前更改未在当前分支上进行更新。在合并之前,您需要提交它们或重置为干净的提交。