Fix git worktree switch and optimize working with remote git-mappings
[git] Refine git worktree switch procedure, fix remote git-mapping clone on every build if token has been specified
- do not write excess files
werf_work_tree_cache_dir
in the git-repo dir;- new work tree validation procedure: check work tree list of the repo;
- this procedure is needed to check if repo has been recreated to recreate a related work tree in this case;
- store cloned repos in the cache dirs like:
~/.werf/local_cache/git_repos/2/protocol-https/mydomain.mygitlab.com/grp/proj.git
. - store worktrees in the dirs like:
~/.werf/local_cache/git_worktrees/5/protocol-git/mydomain.mygitlab.com:22/grp/proj.git
.