我是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"
答案 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>