比如有个文件  build.xml

1、cd到文件或者文件夹的目录

2、git rm -r --cached  build.xml(文件名)

git rm  --cached  foldername(文件夹名)

这个命令的意思是从版本库中将该文件或者改文件夹删除

备注:

版本库的意思就是已经commit但是没有push,commit后会存在于

本地仓库中,push以后才会存在于远程仓库中!add的操作让文件存在于stage(暂存区)中,

commit的将stage中的文件剪切到本地仓库

push是将本地仓库中的文件剪切到远程仓库

3、cd 到文件或者文件夹的目录,然后删除对应的文件或者文件夹,直接物理删除,当然删除前可以备份一下(这一步应该可以不用)

4、执行  git add filename 或者  git add foldername (add 可以不用,因为已经没有文件给我们add了),然后在git commit 需要删除的文件,可用idea的可视化来操作

这个时候可以发现 被物理删除了的文件,显示为灰色,点击commit以后会发现,在待push的地方,不需要提交的文件已经被删除了

第二种情况

如果只是不想把本地自己的文件修改不再让版本来控制,但是这个文件之间被add、commit、push过,

做一下操作

1、git rm -r --cached  filename (文件名)

2、git update-index   --assume-unchanged  build.xml

3、然后将该文件build.xml  添加到 .gitignore 中

如果第2点中不小心把文件名写错了 。撤销可以使用一下的命令

git update-index --no-assume-unchanged build.xml

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐