git-commit后但是发现有不需要push的文件或者文件夹解决-实测!

时间:2024-03-24 16:17:04

比如有个文件  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的地方,不需要提交的文件已经被删除了

git-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