切换分支时Git repo损坏

时间:2017-10-06 01:45:20

标签: git

使用Eclipse我试图从我的分支1566-cm11a切换到另一个名为1694-smartthings的分支。检出失败,因为我有一个文件浏览器打开到目标分支中不存在的目录。现在存储库似乎完全被破坏了。

当我尝试更改为1694-smartthings分支时,我会收到以下消息:

error: Your local changes to the following files would be overwritten by checkout:
        addons/binding/org.openhab.binding.airquality/META-INF/MANIFEST.MF
        addons/binding/org.openhab.binding.allplay/README.md
        addons/binding/org.openhab.binding.amazondashbutton/META-INF/MANIFEST.MF
...
Please move or remove them before you switch branches.
Aborting

当我尝试更改为主分支时,我收到如下消息:

M       addons/binding/org.openhab.binding.airquality/META-INF/MANIFEST.MF
M       addons/binding/org.openhab.binding.allplay/README.md
D       addons/binding/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/discovery/AllPlaySpeakerDiscoveryService.java

我不确定D和M前缀是什么,但我认为它们是删除和修改的,对吧?

有没有办法从这个短暂的重新开始恢复?

1 个答案:

答案 0 :(得分:0)

如果您没有未提交的重要更改,则可以运行git reset --hard然后重试。此命令会将工作区重置为与分支1566-cm11a完全相同的状态。

警告:此命令将清除所有未提交的修改。

如果您要对其他分支进行代码更改,请运行

git stash
git checkout 1694-smartthings
git stash pop