how to understand git file transport