这个问题类似于这个问题,但更具体。
我有一个包含两个分支的项目:staging
和 beta
。
我在 staging
上进行开发,并使用 master
分支修复错误。因此,如果我在 staging 上工作时看到一个错误,我会切换到 master
分支:
git checkout master
并执行这些操作:
git add fileToAdd
git commit -m "bug fixed"
然后我合并两个分支:
git checkout staging
git merge master
git checkout beta
git merge beta
不管工作树上是否有其他文件都不重要。
但是现在,当我尝试切换到master
分支时,我遇到了一个错误:
error: Your local changes to the following files would be overwritten by checkout:
src/Pro/ConvocationBundle/Controller/DefaultController.php
Please, commit your changes or stash them before you can switch branches.
Aborting
我认为我应该从暂存区中删除这个文件:
git reset HEAD src/Pro/ConvocationBundle/Controller/DefaultController.php
但是我遇到了同样的错误。 如果我执行git status
,我会得到没有更改可提交
reset --hard
吗?如果你确定要放弃你的修改,就使用它。或者如果不想丢弃修改,可以使用stash命令。 - keltargit add your-file
命令并提交更改。 - keltar