目录
前言
本文不讲述.gitignore文件的设置。
关键字:git update-index --no-assume-unchanged
git rm -r --cached .
一、忽略并且push到远程
场景:
如果想忽略文件/目录在远程库已经存在,当将其新增至.gitignore文件中时,规则不会生效,执行以下命令新增忽略规则才会生效,而且会将内容从远程库删除,本地保留。
注意:远程仓库会将文件删除,建议第二种方法。
rem 添加忽略规则不生效时执行该批处理, 注意:远程库会删除新增规则影响的那些内容
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
二、忽略本地,不提交
场景:
只想本地提交推送时不将其推送到远程,且远程仓库存在这些内容,本地修改后一直出现在暂存区,而且.gitignore文件中添加忽略规则不会起作用。可以做如下操作。
这种方法远程仓库会保留最近push的版本,且以后本地修改不会出现在暂存区。
2.1、忽略本地文件
git update-index --assume-unchanged ..\..\database\mssql_solution\HDAS\00_Temp\03_temp.sql
2.2、取消忽略,恢复提交
当某天,我们需要提交这些当初被设置忽略提交的文件时,可能时过已久,都忘记有哪些文件被我们设置忽略提交了,可以按如下步骤操作。
2.2.1、查看有哪些文件被忽略
// 查看有哪些文件被忽略了
// Win
git ls-files -v | findstr "^h"
// Linux
git ls-files -v | grep "^h\"
2.2.2、 取消忽略
可以全部取消忽略,如下图
也可以手动设置需取消忽略的文件,如
// 和设置忽略就只有 no 的区别
git update-index --no-assume-unchanged mssql_solution/HDAS/00_Temp/02_temp.sql
git update-index --no-assume-unchanged mssql_solution/HDAS/00_Temp/03_temp.sql