...
...
...
git --version
git machete --version
Please back-up your .git
folder at its current state for the issue to be reproducible in the future!
git machete
heavily relies on branch reflogs (.git/logs/refs/
) that change as state of the repository changes, get expired due to git gc
etc.
Depending on your NDAs/level of confidentiality of the project stored in your repository, you can also include one of the 3 following variants of diagnostics information:
-
--verbose
- executed git commandsgit machete --verbose <problematic-command>
(stdout+stderr)If it comes to repository-specific data, this will only include names of local branches and their remote counterparts. No commit messages, file paths or file contents will be included.
-
--debug
- above + git command outputs and other detailed logging informationgit machete --debug <problematic-command>
(stdout+stderr)If it comes to repository-specific data, this will include names of local branches and their remote counterparts, their full logs (but only wrt. commit hashes) and their full reflogs (which typically include commit messages). No file paths or file contents will be included.
-
Ultimate knowledge - above + the
.git
foldergit machete --debug <problematic-command>
(stdout+stderr)AND
tar czvf dotgit.tgz .git/
Sharing contents of
.git
will provide most detailed diagnostics info, but also obviously involves sharing the entire local history of the repository. Mostly recommended for open source projects.In case the tgz-ed repository is too large to share via GitHub web upload, you can try either pushing the tgz-ed repository as a file onto a branch, or actually sharing the entire non-tgz-ed
.git
folder as a repository on GitHub, so basically doing:cd .git/ git init git add -a git commit -m 'git-machete v?.?.? issue #...' git remote add origin ...URL... git push origin master
Obviously sharing more data will make it easier to investigate the issue, but also involves sharing more project data.