代码之家  ›  专栏  ›  技术社区  ›  Zack

使用git/github删除文件

  •  115
  • Zack  · 技术社区  · 16 年前

    首先,我是刚加入Git的。

    我使用finder在Mac上本地删除了一堆文件。我希望删除的文件不再显示在当前分支中,但它们会显示。

    有Git用户知道更新索引的命令吗?

    4 回复  |  直到 12 年前
        1
  •  226
  •   Samuel Mikel Bowles    16 年前

    我认为这是一个简单的方法来做你想做的事情:

    git add . -A 
    

    那么你只需要:

    git commit -m "removed some files"
    

    如上所述。

        2
  •  19
  •   miku    16 年前

    您可以看到已删除的文件,这些文件仍“跟踪”使用:

    git ls-files --deleted
    

    要从分支中删除文件,可以执行以下操作:

    git ls-files --deleted -z | xargs -0 git rm
    

    从 man git-rm :

    从索引或工作树和索引中删除文件。Git-RM不会只从您的工作目录中删除文件。(没有删除文件的选项 13只从工作树中获取,但仍保留在索引中;如果要这样做,请使用/bin/rm。)

    最后,要提交“删除”,请执行以下操作:

    git commit -m "removed some files"
    
        3
  •  17
  •   Gareth    14 年前

    我不知道这是否已经被添加到Git,因为之前的答案,但我只是使用

    git add -u
    git commit -m "Removed some files"
    

    实现同样的目标。

        4
  •  2
  •   Chawathe Vipul S    13 年前
    git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch deletefile.name' --prune-empty --tag-name-filter cat -- --all
    git commit -m "Removed deletefile.name"
    git push origin master --force
    

    将deletefile.name替换为要删除的文件。为了深入详细的解释,请浏览这篇漂亮的文章。 https://help.github.com/articles/remove-sensitive-data