我将目录从tools
to重命名Tools
并提交。在此之后,我的遥控器中有两个目录。所以由于某种原因 git 没有删除 tools 目录。如何防止这种情况或解决当前问题?
问问题
600 次
2 回答
3
您在没有通知 git 的情况下重命名了一个目录,因此 git 将您的Tools
目录视为一个全新的目录并将其添加到版本控制中。
要解决此问题,您可以要求 git 删除名为的旧目录
tools
:git rm -r tools git commit
另一种方法是
git add -u
检查工作目录的当前状态并更新暂存区域以反映此状态。因此 git 会意识到任何在其背后被删除的目录。# From the root of your repo git add -u . git commit
并且对于将来,使用
git mv
来执行重命名,而不是直接在 Shell 或命令提示符下执行重命名。尽管 git 足够聪明,可以在发现删除和添加之间存在显着相似之处时跟踪移动,但我更喜欢明确地通知 git 移动操作。git mv tools Tools git commit
于 2013-04-21T19:00:33.847 回答
0
如果:
- 你没有做任何其他的提交
- 没有其他人克隆或从您的远程仓库中提取
我建议你:
- 重置为上一个提交(其中包含工具),
git reset --hard HEAD^
(确保您没有任何正在进行的工作,或先将其隐藏) - 正确重命名您的目录:
git mv tools Tools
- 强制推动:
git push --force
于 2013-04-22T05:50:28.917 回答