我将目录从tools
重命名为Tools
并提交。在此之后,我的遥控器中有两个目录。所以由于某种原因,git没有删除tools目录。如何防止这种情况或解决当前问题?
答案 0 :(得分: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
执行重命名,而不是直接在命令行管理程序或命令提示符下执行重命名。虽然git足够聪明,如果发现删除和添加之间存在显着的相似性,就可以跟踪移动,我更喜欢明确告知git移动操作。
git mv tools Tools
git commit
答案 1 :(得分:0)
如果:
我建议你:
git reset --hard HEAD^
(确保您没有正在进行的任何工作,或先将其隐藏)git mv tools Tools
git push --force