GIT状态只检查内容更改,忽略属性

GIT状态只检查内容更改,忽略属性,git,attributes,mysqldump,Git,Attributes,Mysqldump,在开发过程中,我每5分钟备份一次我的项目。制作了一个小脚本并添加到cron中 cd /var/www/sql-backup mysqldump --routines -u root --password="<pwd>" <db> --ignore-table=tems.session > db1.temp.sql; mysqldump -u root --password="<pwd>" -d <db> session > db2.te

在开发过程中,我每5分钟备份一次我的项目。制作了一个小脚本并添加到cron中

cd /var/www/sql-backup
mysqldump --routines -u root --password="<pwd>" <db> --ignore-table=tems.session > db1.temp.sql;
mysqldump -u root --password="<pwd>" -d <db> session > db2.temp.sql;
cat db1.temp.sql db2.temp.sql > backup.sql;
cd /var/www
if [ -n "$(git status --porcelain)" ]; then
        git add -A .;
        git commit -m "daily backup";
        git push;
else
  echo "no changes";
fi
cd/var/www/sql备份
mysqldump--routines-u root--password=“”--ignore table=tems.session>db1.temp.sql;
mysqldump-u root--password=“”-d session>db2.temp.sql;
cat db1.temp.sql db2.temp.sql>backup.sql;
cd/var/www
if[-n“$(git状态--瓷器)”;然后
吉特加了一个。;
git commit-m“每日备份”;
git推送;
其他的
回应“不改变”;
fi
现在的问题是,mysqldump每次都更新文件。即使内容相同,文件创建时间也会更改。这就是为什么它每次都提交,即使没有数据更改。我想防止每次都犯


如何解决此问题

您可以找到旧转储和新转储之间的差异。如果没有差异(在git之前)@demas在代码中的外观,则删除新文件。您可以对这两个文件进行grep,如下所示:
grep-Fxvf file.old file.new