Git - 添加一个移动的文件夹进行提交

时间:2015-11-03 20:05:21

标签: git

我是Git的新手,我遇到了一些问题:

我创建了一个包含其他文件和文件夹的文件夹,将主文件夹添加到git并提交。之后,我将其中一个子目录移到另一个子目录中(仍然在主目录中)并再次键入“git add -A main_directory_name ”。然后我输入“git commit -m'initial commit'”。但是,我看到我移动的子目录不是提交的一部分。

也许我没有正确移动子目录?我做错了什么?

之前

Star Wars
    Empire Forces
        Chewie
    Rebel Forces
mv Star Wars/Empire Forces/Chewie Star Wars/Rebel Forces

Star Wars
    Empire Forces
    Rebel Forces
        Chewie
git add -A "Star Wars" 
git commit -m "initial commit"

2 个答案:

答案 0 :(得分:1)

要将子目录移动到其他目录,您应该使用:

git mv [-v] [-f] [-n] [-k] <source> ... <destination directory>

目录必须由git编制索引。并且mv命令不这样做......

如果你不使用它,git不知道目录在哪里。

成功完成后会更新索引,但仍必须提交更改。

[git documentation]

答案 1 :(得分:0)

您可以执行以下操作从存储库中删除旧目录并添加新目录。

这将从repo中递归删除旧目录及其任何子目录 git rm -r --cached <old-directory-location>

然后像往常一样做git add git add <new-directory-location>