zoukankan      html  css  js  c++  java
  • git删除已经push的远程文件或文件夹

    在使用git提交项目时,有时候会误提交一下文件,比如:*.iml,*.project,*.settings,.idea/*等文件,有时候这些不需要提交的文件可以加入到.gitignore,在提交的时候可以忽略这些文件,但是有时候我们忘记,就会出现误提交一些文件,这时就需要我们删除误提交的文件,下面是使用git命令来删除已经push的误提交的文件:

    注意:改方法适用于我们需要删除暂存区分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制

    比如:我们就拿删除  integration-engine-stream.iml 作为例子

    1.预览暂存区我们需要删除的文件或文件夹(此步骤可以预览我们要删除的文件或文件夹是否是我们要删除的,有没有或多或少删除)

    git rm -r -n --cached 文件/文件夹
    $ git rm -r -n --cached integration-engine-stream.iml
    rm 'data-integration-engine-stream/integration-engine-stream.iml'

    使用 -n 参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。由此我们看到只有要删除的文件 integration-engine-stream.iml

    git rm -r 参数为递归删除,主要是在删除文件夹时可以递归删除文件夹下面的文件或文件夹

    2.确认无误后删除暂存区文件或文件夹,只需去掉 -n 参数

    git rm -r --cached 文件/文件夹
    $ git rm -r --cached integration-engine-stream.iml
    rm 'data-integration-engine-stream/integration-engine-stream.iml'

    3.将本次删除暂存区的改动提交

    git commit -m 'delete remote integration-engine-stream.iml'
    $ git commit -m "delete remote integration-engine-stream.iml"
    [Ft_di_carrefour 1afcb47a] delete remote integration-engine-stream.iml
     1 file changed, 250 deletions(-)
     delete mode 100644 data-integration-engine-stream/integration-engine-stream.iml

    4.将本次删除push到远程仓库

    git push

    另外:当我们需要删除暂存区分支上的文件, 同时工作区也不需要这个文件了, 可以使用如下命令:

     git rm file_path
     git commit -m 'delete somefile'
     git push

    这样本地文件也会删除

  • 相关阅读:
    Codeforces 615D Multipliers (数论)
    第十二届北航程序设计竞赛决赛网络同步赛 J题 两点之间
    ZSTU 4248 KI的目标(dfs)
    POJ2546 Circular Area(计算几何)
    HDU-ACM“菜鸟先飞”冬训系列赛——第7场 H
    Codeforces 761C Dasha and Password(枚举+贪心)
    Codeforces 761D Dasha and Very Difficult Problem(贪心)
    Datastructure
    GDB调试
    GCC操作
  • 原文地址:https://www.cnblogs.com/qixing/p/11911353.html
Copyright © 2011-2022 走看看