参考:

https://blog.csdn.net/u012804886/article/details/83059315

https://www.cnblogs.com/wfsovereign/p/4186910.html

需求分析
假设小明有一天不小心把本地仓库的一个文件夹A推送到了远程GIT服务器(例如:github,gitlab,gitee)上,此时想删除远程仓库的文件夹A,但是本地又不想删除。小明于是去问小红,怎么办?小红不假思索的说,github,gitlab 不是可以删除吗?你直接在远程服务器上操作呀。小明告诉小红,你有所不知,远程操作只能操作单个文件,无法删除文件夹,你可不会傻到一个一个文件去删除。小红说,那怎么办呢?

解决办法
方法一

这里以删除 .setting 文件夹为案例

git rm -r --cached  .setting #--cached不会把本地的.setting删除
git commit -m 'delete .setting dir'
git push -u origin master

方法二
如果误提交的文件夹比较多,方法一也较繁琐

直接修改.gitignore文件,将不需要的文件过滤掉,然后执行命令

git rm -r --cached .
git add .
git commit
git push -u origin master

下面是我的操作:

我的情况是:git已经提交了许多我不想提交的文件和文件夹,如:venv,1.py,demo开头的文件(之前不知道有gitignore这个功能)

所以现在需要做的是

当前我上传到github的项目目录结构如下,圈出的文件是我希望在本地保留,但git add .时不要上传到github的:

1.删除github上多余的文件

#删除单个文件夹
git rm -r --cached venv
git commit -m 'delete venv dir'
git push -u origin master

刷新github可以看到venv,1.py,demoTest文件已经被删除了

2.在项目 根目录 下创建.gitignore文件,创建ignore规则(希望哪些文件不交给git管理呢?)

gedit .gitignore

.gitignore的内容这样写

venv
1.py
demo*

linux环境下 文件前带.表示该文件是隐藏文件

使用ls -al命令查看该文件已被成功创建

具体gitignore的配置规则参照:

https://www.cnblogs.com/kevingrace/p/5690241.html

3.测试ignore规则是否生效

git check-ignore -v venv
git check-ignore -v 1.py
git check-ignore -v demoTest.py

如下图所示,这样就表示ignore文件配置可以匹配到我们不希望交给git进行版本控制的文件或文件夹了

4.测试ignore配置生效后,push代码到github

可以看到本地项目文件内容如下:

但这次git add . 只将.gitignore文件提交给git进行了版本控制

5.检查上传到github的项目是否忽略了venv文件夹,1.py,demoTest.py

这次只把.gitignore文件上传到github了

删除Git服务器文件但是保留本地文件的更多相关文章

  1. 删除本地git的远程分支和远程删除git服务器的分支【转】

    转- 删除本地git的远程分支和远程删除git服务器的分支 在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了 ...

  2. 删除本地git的远程分支和远程删除git服务器的分支

    在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了,所以就要对没有用的分支进行删除,包括紧急回滚时从中抽取某一 ...

  3. git 强行pull并覆盖本地文件

    git 强行pull并覆盖本地文件 git fetch --all git reset --hard origin/master git pull

  4. node静态资源服务器的搭建----访问本地文件夹(搭建可访问静态文件的服务器)

    我们的目标是实现一个可访问静态文件的服务器,即可以在浏览器访问文件夹和文件,通过点击来查看文件. 1.先创建一个文件夹anydoor,然后在该文件夹里npm init一个package.json文件, ...

  5. Java读取oracle数据库中blob字段数据文件保存到本地文件(转载)

    转自:https://www.cnblogs.com/forever2698/p/4747349.html package com.bo.test; import java.io.FileOutput ...

  6. C# 中从网络上下载文件保存到本地文件

    下面是C#中常用的从Internet上下载文件保存到本地的一些方法,没有太多的技巧. 1.通过  WebClient  类下载文件 WebClient webClient = new WebClien ...

  7. 码云git使用二(从码云git服务器上下载到本地)

    假如我们现在已经把项目添加到码云git服务器了. 我们现在需要通过studio工具把码云git服务器上的某个项目下载到本,并且运行. 1.打开码云网页,找到对应项目的git路径. 2.打开studio ...

  8. 使用git pull文件时和本地文件冲突怎么办?

    同事在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten ...

  9. 使用git pull文件时和本地文件冲突怎么办

    在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息:error: Your local changes to 'c/environ.c' would be overwritten by ...

随机推荐

  1. WeixinJSBridge 微信

    <!DOCTYPE html> <html> <head><title>微信WeixinJSBridge API</title> <m ...

  2. 1.求整数最大的连续0的个数 BinaryGap Find longest sequence of zeros in binary representation of an integer.

    求整数最大的连续0的个数 A binary gap within a positive integer N is any maximal sequence of consecutive zeros t ...

  3. Behavioral模式之Interpreter模式

    1.意图 给定一个语言,定义它的文法的一种表示.并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 2.别名 无 3.动机 假设一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各种 ...

  4. 大话USB驱动之总线驱动程序

    转载注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25040009 总线驱动是不用改的.内核都帮我们做好了.为了了解整个USB驱动的体 ...

  5. Python图像处理库:PIL中Image,ImageDraw等基本模块介绍

    Python图像处理库:PIL中Image,ImageDraw等基本模块介绍 标签: 图像处理PILPYTHON 2016-08-19 10:58 461人阅读 评论(0) 收藏 举报  分类: 其他 ...

  6. 辛星浅谈mysql中的数据碎片以及引擎为MyISAM下的操作

    对于mysql中的数据碎片,事实上和我们删除数据是息息相关的,删除数据的时候必定会在数据文件里造成不连续的空白空间,对于少量的数据的删除,并不会产生多少的空白空间.假设在一段时间内的大量的删除操作,会 ...

  7. android 线程的开启和停止(借鉴java的技术)

    在onclick()点击事件中的 // 上传地理位置 case R.id.person_up_locat: System.out.println("====输出了.. .. ====&quo ...

  8. 51nod 1353 树

    树背包 设f[i][j]表示第i个点,和子节点组成的联通块大小为j,其他都可行的方案 j=0表示可行的总方案 #include<cstdio> #include<iostream&g ...

  9. hdu 4587(枚举+割顶)

    TWO NODES Time Limit: 24000/12000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  10. [Apple开发者帐户帮助]八、管理档案(4)

    您可以编辑,下载或删除在开发人员帐户中创建的配置文件.例如,如果您撤消了证书或禁用了配置文件中包含的设备,请编辑配置文件.或重新置备的个人资料,如果因为你它是无效的功能的应用程式服务. 注意: Xco ...