如何使用 git 忽略掉已经被 git 管理的文件

我在今天使用 git 管理 maven 文件时候的最佳实践:
1、使用如下的 .gitignore 文件。

# 忽略当前目录下的文件夹(看下面两行以“/”结尾表示忽略的是个文件夹)
.metadata/
RemoteSystemsTempFiles/

# 忽略子目录下的文件夹
**/.settings
**/target

# 忽略子目录下的文件
**.classpath
**.project

2、把自己的项目全部做成 maven 项目,这样就不用上传和下载 jar 包。
3、在新的客户端导入 maven 文件,这样可以很方便地管理我的 maven 项目。

众所周知,如果我们想让 git 忽略版本提交一个文件的话,我们可以在 .gitignore 文件中输入不被管理的文件(文件夹)列表。但是,我在使用 git 的过程中发现,如果我已经将一些未知的隐藏文件提交到 git ,被 git 管理起来以后,.gitignore 貌似就不起作用了。于是,查了相关资料以后,应该这样做:
1、使用 git rm --cached (文件名) 删除掉这个你想忽略的文件;
2、然后更新 .gitignore ,忽略掉目标文件。
这样简简单单的两步就搞定了。

下面是从参考资料里抽取的一部分很有用的知识:
1、所有空行或者以注释符号 # 开头的行都会被 git 忽略;
2、匹配模式最后跟反斜杠(/)说明要忽略的是目录
3、要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反;
4、 星号(*)匹配零个或多个任意字符;[abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。

.gitignore 文件的例子:

# 此为注释 – 将被 Git 忽略

# 忽略所有 .a 结尾的文件
*.a

# 但 lib.a 除外
!lib.a

# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir
/TODO/TODO

# 忽略 build/ 目录下的所有文件
build/

# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt

参考资料:

git忽略已经被提交的文件 - SegmentFault
http://segmentfault.com/q/1010000000430426
Git入门指南四:跟踪新文件和忽略某些文件 - 码农老毕的学习笔记 - 博客频道 - CSDN.NET
http://blog.csdn.net/wirelessqa/article/details/19548289

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值