git add*不添加已删除的文件

Nur*_*que 6 git github

我有一个本地目录,我已初始化git.我在git中添加了该目录的所有文件:

git add *
Run Code Online (Sandbox Code Playgroud)

现在,如果我从本地目录手动删除文件,我想从github中删除它.我试过了

git add -A *
Run Code Online (Sandbox Code Playgroud)

但它不起作用.每次我都要从github手动删除它.

161*_*903 6

问题是glob(*)是由shell扩展的,而不是git,而shell对你已经删除的文件一无所知.git add -A没有任何参数会添加所有文件,包括已删除的文件.git add .也将在当前的git版本中执行此操作.您也可以git rm --cached <file>按照其他答案中的建议使用单个文件.

通常使用git rm删除文件更容易,因为这将删除文件并删除删除文件.


rme*_*ens 1

如果您想从索引中删除文件,您应该使用

git rm filename
Run Code Online (Sandbox Code Playgroud)

文档可以在这里找到: https: //git-scm.com/docs/git-rm

该命令的一个重要注意事项是:

git rm 不会仅从您的工作目录中删除文件。(没有选项可以仅从工作树中删除文件并将其保留在索引中;如果您想这样做,请使用 /bin/rm 。)

让我知道它是否有效!

  • 我知道这个。实际上我想要一个命令来将我的本地目录与 git 同步。作为 git add -A * 将 github 与 git 同步,删除和添加文件和目录。 (2认同)