git在Windows上重命名问题

时间:2013-04-21 17:08:14

标签: git rename

我将目录从tools重命名为Tools并提交。在此之后,我的遥控器中有两个目录。所以由于某种原因,git没有删除tools目录。如何防止这种情况或解决当前问题?

2 个答案:

答案 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