我创建了一个git repo并提交了文件/文件夹,一段时间后从我的本地git文件夹中删除了一个文件夹,并尝试更新repo我运行命令 -
git add .
git commit -m "second commit"
git remote add origin https://github.com/trialcode/test.git
git push -u origin master
但是删除的文件夹仍然显示在我的git仓库中,尽管文件已更新。让我知道git文件/文件夹更新我做错了什么。
仅供参考 - 我试过git branch -d folder_to_remove/
但它抛出了一个错误 - error: branch 'folder_to_remove/' not found
。
答案 0 :(得分:12)
Vijay's answer可行,但我也想指出一个额外的解决方案。
通常git add
不会将已删除的文件添加到您的暂存区域(提交),所以当您运行时
git add .
您实际上并未暂存任何已删除的文件。
git add
如果您希望git add
实际播放已删除的文件,则必须使用--update
或 - u
标记:
git add --update
# Or
git add -u
此外,您还可以使用--all
或-A
标志,但如果我没记错的话,那个标志只会对从Git 2.0版本开始的已删除文件进行分级......或类似的东西。另请注意,该标志还会暂存未跟踪的文件,与-u
不同,git add --all
# Or
git add -A
仅更新已跟踪的文件:
{{1}}
答案 1 :(得分:9)
Git将在您的本地repo目录中有一个隐藏文件夹.git/
。关于本地存储库的所有内容都将存储在该文件夹中。
因此,当您创建文件夹并提交时,它将被存储。之后,即使您从文件系统中删除文件或文件夹,也不会将其通知给本地git存储库。
要通知git您已删除文件或文件夹,请使用命令git rm
。
试试这个
git rm folder_name
git commit -m "removed folder"
git remote add origin https://github.com/trialcode/test.git
git push -u origin master
此处folder_name
是您要删除的文件名或文件夹名称。