raw.githubusercontent.com
использует CDN, что вы можете проверить, выполнив:
$ dig raw.githubusercontent.com +short
github.map.fastly.net.
1.2.3.4
Итак, если этот CDN обеспечивает кэширование на основе TTL (и, похоже, проверяя заголовок Cache-Control
за 300 секунд), вы застряли с ним.
Как вы видели, запрос с помощью --no-cache
ничего не делает, потому что они предназначены для предотвращения злоупотреблений.
Вы можете обойти это многими хакерскими способами, которые я не буду перечислять, но вы в основном пытаетесь обойти политику, изложенную github, и я бы посоветовал против. Более того, метод, который работает сегодня, может не работать программно завтра или при последующих вызовах.
Так.. Просто подождите, пока истечет TTL, и получите новую копию.
Вы можете написать скрипт, который опрашивает каждые x секунд (но не слишком быстро) и подождать, пока вы не увидите X-Cache: MISS
- который скажет вам, что вы получили новую копию. Или это проверяет ETag
наличие изменений.
Или вы можете проверить, предоставляет ли github API для аннулирования вашего собственного кода или способ вызова файлов с последним коммитом, например: https://raw.githubusercontent.com/xxxxx/script.sh?commit=12345