我从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。我已经突出显示了移动模型的提交。
答案 0 :(得分:0)
git并不知道这些本地更改与repo中已存在的更改相同,因为当前更改未在当前分支上进行更新。在合并之前,您需要提交它们或重置为干净的提交。