我有一个本地目录,我已初始化git。我在git中添加了该目录的所有文件:
git add *
现在,如果我从本地目录手动删除文件,我想从github中删除它。我试过了
git add -A *
但它不起作用。每次我都要从github手动删除它。
问题是glob(*
)是由你的shell而不是git扩展的,而shell对你已经删除的文件一无所知。没有任何参数的git add -A
会添加所有文件,包括已删除的文件。 git add .
也将在当前的git版本中执行此操作。您还可以将git rm --cached <file>
用于其他答案中建议的单个文件。
通常使用git rm
删除文件更容易,因为这将删除文件并删除删除文件。
您应该使用“git rm”命令。 git rm / path / to / file
例如:转到你的git目录并输入 git rm file.txt
然后做一个git提交说: git commit -m“删除文件”
最后将您的更改推送到您的git存储库。一旦推送这些更改,该文件现在也将从您的存储库中删除。
关于堆栈溢出的早期帖子提供了更多信息:Git: why the file deletion does not sync?
希望这可以帮助!
如果要从索引中删除文件,则应使用
git rm filename
文档可以在这里找到:https://git-scm.com/docs/git-rm
这个命令的一个重要注意事项是:
git rm不会从您的工作目录中删除文件。 (没有选项只能从工作树中删除文件并将其保留在索引中;如果要这样做,请使用/ bin / rm。)
如果有效,请告诉我!
您唯一需要做的就是从本地存储库中删除文件,而不是从本地存储库中手动删除文件,
git rm <file-name>
要么
git rm -rf <folder-name>
之后,在本地提交更改并推送它。它应该反映在本地和远程存储库中。
或者,如果您已经手动删除了本地存储库中的文件,现在如果要从远程存储库中删除,请使用--cached
属性。那是,
git rm --cached <file-name>
要么
git rm -rf --cached <folder-name>
现在,如果您已手动删除文件并希望在本地和远程git存储库中反映,请使用,
git add -u .
希望这可以帮助! :)