胖蔡说技术
随便扯扯

更新.gitignore无效的问题

日常操作中,我们往往会出现由于git仓库不断的增加的原因,而需要添加更多的过滤文件的情况。

但这时,我们又发现虽然在**.gitignore**添加过滤条件,却无法生效。一般的这种情况是由于在添加 .gitignore之前对过滤文件已进行过操作,在git记录中已存在了操作记录,导致后续过滤条件不成立。这个问题的解决方式我们可以通过两种方法来解决:

d158a3688d140db

整库更新

删除缓存

由于是之前对过滤文件已经进行过操作,所以在开始过滤前需要对本地和远程分支进行缓存删除操作。需要注意的是在擦欧总之前可以暂时备份一个.gitignore文件。

$git pull origin master
$git rm -r --cached .

更新过滤规则

删除git缓存后,我们需要将新的过滤规则进行更新,此时的所有文件都是初始状态,需要重新将文件添加到git库

$git status
$git add .

commit并提交记录

之后我们就可以通过commit 来进行常规性操作即可。

F:githubenjoytodayAdmin>git commit -m "update ignore."
[master eb05743] update ignore.
 13 files changed, 733 insertions(+), 1571 deletions(-)
 delete mode 100644 .idea/dataSources.local.xml
 delete mode 100644 .idea/dataSources.xml
 delete mode 100644 .idea/deployment.xml
 delete mode 100644 .idea/enjoytodayAdmin.iml
 delete mode 100644 .idea/inspectionProfiles/Project_Default.xml
 delete mode 100644 .idea/misc.xml
 delete mode 100644 .idea/modules.xml
 delete mode 100644 .idea/remote-mappings.xml
 delete mode 100644 .idea/vcs.xml
 delete mode 100644 .idea/workspace.xml

局部删除更新

如上方法虽可解决,但对仓库整体的更新较大。这时,我们可以通过局部更新的方式来解决这个问题。

同步远程仓库并将我们需要新增的过滤文件移除git

$git pull origin master
$git rm .idea/deployment.xml
$git rm .idea/enjoytodayAdmin.iml

更新.gitignore文件并commit、提交远程库

$git add .gitignore
$git commit -m "update .gitignore"
$git push origin master
赞(0) 打赏
转载请附上原文出处链接:胖蔡说技术 » 更新.gitignore无效的问题
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏