Git,提交和推送更改,删除的文件不起作用

时间:2017-08-13 14:13:09

标签: git github

通常,当我必须完成日常工作时,我会使用:

git add * 
git commit -m "my commit message"
git push origin master

这个命令非常基础。但我注意到我的远程仓库中没有删除已删除的文件。事实上,如果我删除一个通用文件" example.txt" (在我的本地文件夹上)在Github上推送更改后,文件仍然存在。

git add *同步,是否应该识别已删除的文件? 如何从远程仓库中删除已删除的文件?

由于

3 个答案:

答案 0 :(得分:2)

git add *不会跟踪已删除的文件,它只包含已修改或新添加的文件。你必须使用

$ git add . --all

跟踪所有文件(包括已删除的文件)

参考:docs

答案 1 :(得分:1)

不完全是这个web

使用git rm

git rm [-f | --force] [-n] [-r] [--cached] [--ignore-unmatch] [--quiet] [--] <file>…​

Description:

Remove files from the index, or from the working tree and the index. git 
rm will not remove a file from just your working directory. (There is no 
option to remove a file only from the working tree and yet keep it in the 
index; use /bin/rm if you want to do that.) The files being removed have 
to be identical to the tip of the branch, and no updates to their 
contents can be staged in the index, though that default behavior can be 
overridden with the -f option. When --cached is given, the staged content 
has to match either the tip of the branch or the file on disk, allowing 
the file to be removed from just the index.

答案 2 :(得分:0)

默认情况下,

git add不会记录文件删除。传递--all标志将告诉它也查找已删除的文件。

正如Tim Biegeleisen建议的那样,值得结合使用git status来查看工作目录中的更改,然后使用git add <filename>逐个添加它们。这样,您可以更好地查看和控制添加到暂存区域的内容。您也可以使用git add <directory>一次添加整个目录,或git add -i将要求git引导您完成每个文件更改,并让您选择暂存或忽略它。