博客
关于我
git在commit时候不commit某些文件
阅读量:683 次
发布时间:2019-03-17

本文共 887 字,大约阅读时间需要 2 分钟。

前言

不多个版本控制系统的用户都会遇到这样的问题:某些文件不应该提交到版本控制系统中。本文将详细介绍两种常见情况,并提供相应的解决方案。
  • 这种文件从未推送到仓库
  • 该文件已被推送到仓库,但不希望后续更改生效(如包含密码的配置文件)

第一种情况:文件从未推送到仓库

想避免某些文件被提交到仓库,可以通过创建一个.gitignore文件来实现。添加相应的规则后,运行git add .时,这些文件将被排除在外,从而不会提交到仓库。此外,IDE(如IntelliJ IDEA)自动生成的Spring Boot项目通常会自动生成一个.gitignore文件,内容如下:
HELP.md  target/!  .mvn/wrapper/maven-wrapper.jar  **/src/main/**/target/  **/src/test/**/target/  注释:#**/src/main/java/com/Property.java  注释:#**/src/main/resources/application.properties
如果已经将文件提交到缓存区但希望撤销,可以使用以下命令:
git rm -r --cached src/main/java/test.java git add .
这样提交后,该文件将不再出现在仓库中。

第二种情况:文件已推送到仓库,但不希望后续更改生效

有时候你想要保留仓库中的某些properties文件,但又不想提交包含密码的文件。这时可以使用以下方法:
git update-index --assume-unchanged src/java/test.java
这样再次提交时,该文件将被忽略。当想恢复跟踪时,可以运行:
git update-index --no-assume-unchanged src/java/test.java
需要注意的是,在IDE中,设置成功后,文件修改将不会显示未提交状态,而是显示为白色表示已提交。
总之,Git提供了灵活的版本控制工具,可以根据实际需求选择适当的方法来管理文件提交和忽略问题。

转载地址:http://yczhz.baihongyu.com/

你可能感兴趣的文章
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>
Mysql 中的日期时间字符串查询
查看>>
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>