[笔记]删除git远程库中已存在的文件,并且在本地保留

原创 2017年06月28日 10:27:32

应用场景:

对于eclipse的maven项目: .classpath  .project  .settings/ 等文件和目录如果被提交到远程仓库,并不方便其他项目成员使用.而且因为本地的环境变化,还会频繁要求提交这些文件的修改.

因此类似者样的文件和目录应该写到.gitignore文件中,例如:

/target/
/.settings/
/.project
/.classpath

不过如果这些文件之前已经提交过,会发现现在修改.gitignore毫无作用,这是因为这些文件已经属于track状态,gitignore不会对此类文件生效.

解决方案:

工具: 需要安装git客户端 egit貌似不行.

注意: commit之前写吧.gitignore改好.(改成类似上面的样子就行)

git rm -r --cached .settings/
git rm -r --cached .classpath
git rm -r --cached .project
git commit -m "git rm -r --cached .settings"
git push

此操作后,刷新eclipse,你的文件还是你的,一点都没有变,但是远程库中就不会再有这些文件了.

如果一切顺利,这几个文件和目录在eclipse中的会有如下的图标变化:


后续:

其他成员导入项目的流程如下:

注意:  先确保你的pom.xml中有如下内容:

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
<build>

1. 在git视图或者其他地方将项目导入成 general project


2. 将项目编辑为maven项目


3. update project



项目多如何偷懒: (不会偷懒的程序员不是一个好程序员)

写个简单的脚本 保存成git_rm.cmd

@echo off
:: cd到被拖进来的路径
cd /D %1
:: 开工
git rm -r --cached .settings/
git rm -r --cached .classpath
git rm -r --cached .project

将需要处理的目录一个一个的拖到这个脚本的图标上.(如下图)


commit和push最好还是手工来吧,如果要写进脚本去也行,但记得用"<pwd.txt"(输入重定向)输入密码.

搞不定这个脚本的话,加bat/cmd技术群: 3401238

Git 删除远程仓库文件

原文地址:http://blog.csdn.net/u010316858/article/details/50053387          使用 git rm 命令即可,有两种选择.  ...
  • xing_sky
  • xing_sky
  • 2015年11月27日 14:10
  • 33162

Git删除远程仓库中误传的文件

使用git的时候,有时没在ignore记事本中配置一些不需要上传的文件时,很可能就会造成误传,比如使用webstorm开发时就会自动生成一个.idea文件夹。如果上传的时候误传了怎么办?下面是删除的步...
  • tyler1108
  • tyler1108
  • 2015年03月22日 18:24
  • 3737

Git 删除远程仓库文件

使用 git rm 命令即可,有两种选择.          一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;          一种是 git rm...
  • u010316858
  • u010316858
  • 2015年11月26日 11:19
  • 8587

git正确的删除远程仓库的文件并用.gitignore忽略提交此文件

git删除远程仓库的文件
  • qq_21544879
  • qq_21544879
  • 2016年05月03日 18:22
  • 4860

git移除远程仓库某个文件夹

git移除远程仓库某个文件夹
  • u014290233
  • u014290233
  • 2016年10月25日 15:15
  • 1230

git 删除已经 add 的文件

使用 git rm 命令即可,有两种选择, 一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除; 一种是 git rm --f "文件路径",不仅将该文件从缓...
  • yang3wei
  • yang3wei
  • 2013年07月21日 18:45
  • 48805

git 删除分支和删除文件夹

1、删除分支 1.1查看所有分支: git branch -a 得到结果: 1.2删除HEAD分支 git push origin --delete HEAD 2、删...
  • p_3er
  • p_3er
  • 2013年11月21日 11:44
  • 74186

三条命令解决Git 如何删除远程服务器文件同时保留本地文件

有时候会想把github上的文件删除,但是本地仓库里的文件想保留下来该怎么办,只要用三条命令就能完成了 git rm --cached filename/-r directory git commi...
  • FallingU
  • FallingU
  • 2017年08月03日 21:47
  • 1478

本地用git提交和删除github上远程仓库的文件

命令:  git rm -r --cached dirname git commit -m 'say something' git push origin master 如要删除Fragme...
  • qq_32540053
  • qq_32540053
  • 2017年02月15日 16:29
  • 2716

删除本地文件后 Git从远程仓库重新获取

删除本地文件后,想从远程仓库中从新Pull最新版文件。Git提示:up-to-date,但未得到删除的文件原因:当前本地库处于另一个分支中,需将本分支发Head重置至master.git checko...
  • ffscript
  • ffscript
  • 2017年07月05日 15:04
  • 1140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[笔记]删除git远程库中已存在的文件,并且在本地保留
举报原因:
原因补充:

(最多只允许输入30个字)