当我删除本地工作目录中的文件并制作git add .
git commit
并最终git push
时,这些文件只是在远程仓库和其他人的工作目录中拉我的提交。
除了git rm
之外,是否还有一种方法可以告诉git在任何地方删除这些文件(远程仓库和其他文件的工作目录)?
答案 0 :(得分:3)
使用-u
git add
选项暂存删除已删除的文件。
git add -u
从联系手册:
- 更新
仅匹配
<filepattern>
针对索引中已跟踪的文件而不是工作树。这意味着它永远不会暂存新文件,但是它会暂存已修改的跟踪文件的新内容,并且如果已删除工作树中的相应文件,它将从索引中删除文件。 / p>如果没有给出
<filepattern>
,则默认为&#34;。&#34 ;;换句话说,更新当前目录及其子目录中的所有跟踪文件。
正如@farzad所描述的,如果你然后提交并推送,那么任何拉动最新版本分支的人都会看到相关文件被删除。
答案 1 :(得分:2)
如果文件受git控制(不在排除列表中),那么最好使用正确的git命令删除文件:
git rm filename
git commit -m "removed filename because of the reason"
git push
这将从版本控制中删除该文件,因此在此之后拉动的任何人都将删除该文件。