push a new file, tested by howzha