git忽略已加入到版本库的文件

项目中,我们会用到 '.gitignore' 来忽略一些文件,不记录这些文件的版本控制。

然而,经常发现,已经添加到了 '.gitignore' 的文件/目录,每次的修改等扔会记录版本。

产生这种原因,一般都是由于,在初始项目时,已经使用 git add 将该文件,加入到了版本库

如何来从版本库移除呢?
	git rm -r --cached /vendor
		git rm 的选项:
			-f, --force
			-n, --dry-run			// 不真实删除,只显示将被删除的文件
			-r 						// 递归删除目录
			-- 						// 用于将命令行选项和文件列表分开(当文件名和命令行选项比较容易混淆时,很有用!)
			--cached 				// 我们本次核心使用,不记录到版本库
			--ignore-unmatch 		// 及时没有匹配到要删除的文件,也返回 '0' 状态码(不爆粗)
			-q, --quiet				// 通常 git rm 会将删除结果输出,该选项抑制输出!



	git commit -m "从版本库移除vendor目录"
	git push 

感觉博客总结的几句话,很清晰,摘抄下(https://www.cnblogs.com/toward-the-sun/p/6599656.html):
	git rm 和 git rm --cached 区别:
		当我们需要删除暂存区或分支上的文件,同时工作区 '不需要' 这个文件,可以使用 'git rm'
			git rm file
			git commit -m 'delete file'
			git push

		当我们需要删除暂存区或分支上的文件,但是本地 '需要' 这个文件,只是 '不希望加入版本控制',可以使用 'git rm --cached'
			git rm --cached file
			git commit -m 'delete remote file'
			git push

参考文章:
	https://www.cnblogs.com/toward-the-sun/p/6599656.html
	http://blog.youkuaiyun.com/wtq1993/article/details/51556794

.gitignore 详解:
	https://www.cnblogs.com/ShaYeBlog/p/5355951.html


### 如何在 Git 中配置远程仓库以忽略某些文件 #### 使用 `.gitignore` 文件 为了防止特定类型的文件被提交至远程仓库,在项目根目录下创建或编辑 `.gitignore` 文件是一个常见的做法。此文件列出了不需要纳入版本控制的文件模式,从而阻止它们被意外添加到仓库中[^1]。 对于 Python 项目而言,`.gitignore` 应当排除编译后的字节码、环境变量配置等敏感数据: ```plaintext # Byte-compiled / optimized / DLL files __pycache__ *.py[cod] # Environment variables .env ``` 一旦定义好 `.gitignore` 规则之后,任何匹配该规则的新文件都不会再被 `git add` 自动加入暂存区;然而需要注意的是,如果某个文件已经在历史记录里,则即使它符合 `.gitignore` 条件也不会自动停止追踪,此时需手动执行如下操作将其从索引库删除而不影响工作副本中的实际文件: ```bash git rm --cached <file> ``` 这一步骤确保了未来对该类文件的变化不会再触发提交行为,并且能够使新的 `.gitignore` 设置生效[^5]。 #### 配置全局忽略规则 除了针对单个项目外,还可以设定适用于所有本地项目的通用忽略项。通过修改用户的 Git 配置来指定一个额外的忽略文件路径,这样就不必每次都重复相同的忽略条目: ```bash git config --global core.excludesfile ~/.gitignore_global ``` 接着可以在上述位置编写个人偏好的忽略模板[^4]。 #### 不使用 `.gitignore` 的替代方案 尽管推荐利用 `.gitignore` 实现文件过滤功能,但也存在其他方式达到相同目的——即采用 `git update-index` 命令单独处理个别文件的状态变更。这种方法允许临时性地将某文件设为未跟踪状态而无需更改源代码树结构内的 `.gitignore` 文档内容[^3]。 不过值得注意的是,这种技术不具备持久性和可移植性特点,因此通常只适合于特殊场景下的短期应用。 综上所述,最理想的做法是在初始化新项目之初便精心设计一份详尽合理的 `.gitignore` 列表,以此作为长期维护的基础措施之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值