At the end of your build script you could dump the date in a file. And at the beginning, you could compare it. It could looks like:
currentDate=$(date +%D)
isFirstBuildOfTheDay=true
if [ -e last_date_build.txt ]; then
if [ $currentDate = $(cat last_date_build.txt) ]; then
isFirstBuildOfTheDay=false
fi
fi
if $isFirstBuildOfTheDay; then
#Take a daily snapshot
fi
#Perform the actual build
echo $currentDate > last_date_build.txt
Edit to take the comment into account:
If you can't keep files, what about recording this date on a tag?
For example:
currentDate=$(date +%F)
dailyTag=daily_$currentDate
if ! git rev-parse $tag >/dev/null 2>&1; then
#Take a daily snapshot
git tag $dailyTag
git push --tags
fi