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

這樣本地文件也會刪除

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM