已经在 stage 的文件再配置到 .gitignore 不生效
2017-09-25 12:27
465 查看
背景:
在管理一个版本库时,有时候不想要管理某些文件,如自己的测试文件,或涉及到有密码的配置文件。这时我们只需要把这些不想被管理的文件(文件夹)配置到 .gitignore 文件中即可。但对于已经被 staged 文件,加入 .gitignore 文件时一定先要从 stage 中移除,.gitignore 配置才能生效。
下面就给出一个具体的实例:
本实例是不想要 target 文件夹下所以的文件,并保存。
1、把 target 配置到 .gitignore 文件中
protrait/target/*2、在执行 git status 命令。
D:\project\sz\tagging-system>git statusOn branch master
Your branch is up-to-date with ‘origin/master’.
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git checkout – …” to discard changes in working directory)
modified: portrait/target/classes/test/Test.class modified: portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst modified: portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst modified: portrait/target/portrait-1.0-SNAPSHOT-jar-with-dependencies.jar
3、发现 target 文件夹并没有消失,这是怎么回事?
这时需要把 target 从 stage 中删除3.1、执行 git rm –cached portrait/target/*
D:\project\sz\tagging-system>git rm –cached portrait/target/*rm ‘portrait/target/classes/cn/sz/changephone/BdsChangeDeviceDMapper.class′rm‘portrait/target/classes/cn/sz/changephone/BdsChangeDeviceDMidReducer.class’
rm ‘portrait/target/classes/cn/sz/changephone/BdsChangeDeviceDReducer.class′rm‘portrait/target/classes/cn/sz/changephone/BdsChangeDeviceD.class′rm‘portrait/target/classes/cn/sz/changephone/OdsChangeDeviceDMapper.class’
rm ‘portrait/target/classes/cn/sz/changephone/OdsChangeDeviceDReducer.class′rm‘portrait/target/classes/cn/sz/changephone/OdsChangeDeviceD.class′rm‘portrait/target/classes/cn/sz/sex/MyIKAnalyzer.class′rm‘portrait/target/classes/cn/sz/sex/TrainingData.class′rm‘portrait/target/classes/cn/sz/sex/TrainingOnlineDataBean.class’
rm ‘portrait/target/classes/cn/sz/sex/TrainingOnlineData.class’
rm ‘portrait/target/classes/cn/sz/sourcedata/GetFeatureDataMapper.class′rm‘portrait/target/classes/cn/sz/sourcedata/GetFeatureDataReducer.class’
rm ‘portrait/target/classes/cn/sz/sourcedata/GetFeatureData.class’
rm ‘portrait/target/classes/cn/sz/utils/FileUtil.class’
rm ‘portrait/target/classes/cn/sz/utils/MiscUtil.class’
rm ‘portrait/target/classes/test/Test.class’
rm ‘portrait/target/maven-archiver/pom.properties’
rm ‘portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst’
rm ‘portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst’
rm ‘portrait/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst’
rm ‘portrait/target/portrait-1.0-SNAPSHOT-jar-with-dependencies.jar’
3.2、执行 git status 命令
D:\project\sz\tagging-system>git statusOn branch master
Your branch is up-to-date with ‘origin/master’.
Changes to be committed:
(use “git reset HEAD …” to unstage)
deleted: portrait/target/classes/cn/sz/changephone/BdsChangeDeviceD$Mapper.class deleted: portrait/target/classes/cn/sz/changephone/BdsChangeDeviceD$MidReducer.class deleted: portrait/target/classes/cn/sz/changephone/BdsChangeDeviceD$Reducer.class deleted: portrait/target/classes/cn/sz/changephone/BdsChangeDeviceD.class deleted: portrait/target/classes/cn/sz/changephone/OdsChangeDeviceD$Mapper.class deleted: portrait/target/classes/cn/sz/changephone/OdsChangeDeviceD$Reducer.class deleted: portrait/target/classes/cn/sz/changephone/OdsChangeDeviceD.class deleted: portrait/target/classes/cn/sz/sex/MyIKAnalyzer.class deleted: portrait/target/classes/cn/sz/sex/TrainingData.class deleted: portrait/target/classes/cn/sz/sex/TrainingOnlineData$Bean.class deleted: portrait/target/classes/cn/sz/sex/TrainingOnlineData.class deleted: portrait/target/classes/cn/sz/sourcedata/GetFeatureData$Mapper.class deleted: portrait/target/classes/cn/sz/sourcedata/GetFeatureData$Reducer.class deleted: portrait/target/classes/cn/sz/sourcedata/GetFeatureData.class deleted: portrait/target/classes/cn/sz/utils/FileUtil.class deleted: portrait/target/classes/cn/sz/utils/MiscUtil.class deleted: portrait/target/classes/test/Test.class deleted: portrait/target/maven-archiver/pom.properties deleted: portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted: portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted: portrait/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted: portrait/target/portrait-1.0-SNAPSHOT-jar-with-dependencies.jar deleted: portrait/target/portrait-1.0-SNAPSHOT.jar
3.3、看还在,需要继续执行命令 git commit -m “describe for this commit”
D:\project\sz\tagging-system>git commit -m “commit DeviceSexAlgorithm.java”[master ca4f9e0] commit DeviceSexAlgorithm.java
26 files changed, 234 insertions(+), 206 deletions(-)
create mode 100644 portrait/src/main/java/cn/sz/sex/DeviceSexAlgorithm.java
delete mode 100644 portrait/src/main/java/test/Test.java
delete mode 100644 portrait/target/classes/cn/sz/changephone/BdsChangeDeviceDMapper.classdeletemode100644portrait/target/classes/cn/sz/changephone/BdsChangeDeviceDMidReducer.class
delete mode 100644 portrait/target/classes/cn/sz/changephone/BdsChangeDeviceDReducer.classdeletemode100644portrait/target/classes/cn/sz/changephone/BdsChangeDeviceD.classdeletemode100644portrait/target/classes/cn/sz/changephone/OdsChangeDeviceDMapper.class
delete mode 100644 portrait/target/classes/cn/sz/changephone/OdsChangeDeviceDReducer.classdeletemode100644portrait/target/classes/cn/sz/changephone/OdsChangeDeviceD.classdeletemode100644portrait/target/classes/cn/sz/sex/MyIKAnalyzer.classdeletemode100644portrait/target/classes/cn/sz/sex/TrainingData.classdeletemode100644portrait/target/classes/cn/sz/sex/TrainingOnlineDataBean.class
delete mode 100644 portrait/target/classes/cn/sz/sex/TrainingOnlineData.class
delete mode 100644 portrait/target/classes/cn/sz/sourcedata/GetFeatureDataMapper.classdeletemode100644portrait/target/classes/cn/sz/sourcedata/GetFeatureDataReducer.class
delete mode 100644 portrait/target/classes/cn/sz/sourcedata/GetFeatureData.class
delete mode 100644 portrait/target/classes/cn/sz/utils/FileUtil.class
delete mode 100644 portrait/target/classes/cn/sz/utils/MiscUtil.class
delete mode 100644 portrait/target/classes/test/Test.class
delete mode 100644 portrait/target/maven-archiver/pom.properties
delete mode 100644 portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
delete mode 100644 portrait/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
delete mode 100644 portrait/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
delete mode 100644 portrait/target/portrait-1.0-SNAPSHOT-jar-with-dependencies.jar
delete mode 100644 portrait/target/portrait-1.0-SNAPSHOT.jar
3.4、再执行 git status 看下
D:\project\sz\tagging-system>git statusOn branch master
Your branch is ahead of ‘origin/master’ by 2 commits.
(use “git push” to publish your local commits)
nothing to commit, working tree clean
4、这下就 OK 了。
5、简单总结下:
如果不想再管理已经被 stage 的文件(文件夹)可以按照下面的步骤来处理。
1、先从 stage 中删除不想再被管理的文件(文件夹)
git rm –cached file2、提交更新
git commit -m “describe for this commit”3、把该文件(文件夹)配置到 .gitignore 文件中,当然了这一步也可以先做。
4、在执行 git status 命令就可以得到自己想要的结果了。
相关文章推荐
- 详解Github的.gitignore忽略文件+.gitignore不生效解决方案+生产配置大奉送
- .idea .gitignore之忽略文件之优化 配置特性
- android studio 版本控制 .gitignore 文件配置 &&移除已上传到git的不需版本控制的文件
- 解决git-忽略文件,添加gitignore,处理已经track的文件
- 《git-修改.gitignore后使其配置生效方法》---记录几个命令而已
- git中配置的.gitignore不生效的解决办法
- 【iOS开发】配置忽略文件.gitignore 文件
- Android Studio Git .gitignore文件配置忽略不需要的文件
- iOS 配置.gitignore文件详细介绍
- .gitignore文件不生效问题
- .gitignore 配置文件详情
- Git忽略文件及Unity下的ignore配置
- .gitignore文件配置
- git命令中的忽略追踪文件配置之touch. gitignore文件
- 改动过.gitignore文件之后设置生效
- Xcode - 配置.gitignore文件
- 日常开发常用 .gitignore 文件配置
- Git的.gitignore文件配置格式。。。
- git的 .gitignore 如何配置(git如何忽略、追踪文件)
- 如何让.gitignore文件生效