将/ mv目录复制到git中的另一个目录

时间:2011-07-28 23:06:17

标签: git directory

我有一个

dir1 /包含很多文件和子目录,我想将目录名更改为dir2 /。我试过了

  

git mv dir1 / dir2 /

我收到了这条消息:

fatal: renaming 'dir1' failed: Permission denied

更新

我从git for windows命令行http://code.google.com/p/msysgit/运行了 什么是正确的命令?

5 个答案:

答案 0 :(得分:20)

也可能是其他程序正在使用目录(或其中的文件),这会阻止您对该文件夹执行任何操作。仅在Windows上,显然。

如果您不确定哪个程序捕获了该目录/文件,请使用Process Explorer

答案 1 :(得分:9)

您可以使用标准的unix工具,也可以使用任何操作系统。所以:

mv dir1 dir2

应该有效。确保在完成后将dir1和dir2添加到暂存区域,以便提交更改。

如何提交更改(一旦完成)的示例可以是:

git add dir1 dir2 && git commit dir1 dir2

也可能有其他方法可以做到。

答案 2 :(得分:2)

需要将源目录和目标目录都检入git存储库。如果您将dir1移动到dir2并且尚未提交dir2,则会收到此错误消息。

答案 3 :(得分:0)

我在cygwin中运行git。在我从要重命名的目录中删除未跟踪的文件之前,我遇到了同样的问题。这允许git mv正确完成。

如果您在运行git status时在目录中看到要重命名的未跟踪文件,那么您必须暂时将这些文件移到其他位置并在git mv之后将其重新导入。

答案 4 :(得分:0)

我遇到了同样的问题。 TGitCache.exe是阻止重命名文件夹的进程。使用TaksExplorer我已经杀死了进程并从Git Bash命令提示符运行命令。