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

icn*_*icn 20 git directory

我有一个

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

git mv dir1/dir2 /

我收到了这条消息:

fatal: renaming 'dir1' failed: Permission denied
Run Code Online (Sandbox Code Playgroud)

更新:

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

Bra*_*ers 20

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

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


Lei*_*sen 9

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

mv dir1 dir2
Run Code Online (Sandbox Code Playgroud)

应该管用.只需确保在完成后将dir1和dir2添加到暂存区域,以便提交更改.

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

git add dir1 dir2 && git commit dir1 dir2
Run Code Online (Sandbox Code Playgroud)

可能还有其他方法可以做到这一点.

  • 我很确定你会丢失你独立于Git移动的文件的修改历史记录. (4认同)
  • @Ghodmode:不,git是基于内容的,并根据文件内容重命名检测. (3认同)