我在git中删除文件时遇到问题。 问题是文件在索引中出现两次(在源树中)。
如果我尝试删除一个引用,则该文件同时出现在分阶段文件和未分段文件中。
在对剩余的git引用执行操作时,我收到错误(文件不存在)。
如何清理这些文件的索引?
以下是源代码树的截图(抱歉没有足够的声誉直接嵌入图片): http://i.imgur.com/oTJyEm3.png
以下是git status的输出: 关于分支发展 您的分支机构是最新的' GitLab / develop'。 未提交更改的更改: (使用" git add ..."更新将要提交的内容) (使用" git checkout - ..."放弃工作目录中的更改) (提交或丢弃子模块中未跟踪或修改的内容)
modified: External OSX/PhFacebook (modified content, untracked content)
没有更改添加到提交(使用" git add"和/或" git commit -a")
由于
答案 0 :(得分:1)
执行git重置:
git reset HEAD --hard
它将清理您的临时区域和工作目录。
git reset HEAD --hard <commit_id>
强> “移动”你的头回到所需的提交。
# This will destroy any local modifications.
# Don't do it if you have uncommitted work you want to keep.
git reset --hard 0d1d7fc32
# Alternatively, if there's work to keep:
git stash
git reset --hard 0d1d7fc32
git stash pop
# This saves the modifications, then reapplies that patch after resetting.
# You could get merge conflicts, if you've modified things which were
# changed since the commit you reset to.
这个模式说明了哪个命令做了什么
如您所见,reset && checkout
修改了HEAD
。