Based on Meaning of Git checkout double dashes
git checkout -- fileA.cpp
I want to revert changes on fileA.cpp.
Question> Is there a different between the checkout with or without HEAD?
Thank you
Based on Meaning of Git checkout double dashes
git checkout -- fileA.cpp
I want to revert changes on fileA.cpp.
Question> Is there a different between the checkout with or without HEAD?
Thank you
There is a difference, which matters if and only if the version of fileA.cpp in the index differs from the version of fileA.cpp in the HEAD commit.
Specifically, without the word HEAD, git checkout -- <path> extracts the version of <path> from the index to the work-tree, leaving the index version unchanged. Adding HEAD before the --, git checkout HEAD -- <path> extracts the version of <path> from the commit identified by HEAD, writes that into the index, and only then writes the index version (now the same as the HEAD version) into the work-tree.
See also this StackOverflow answer (on git reset initially, but extended to cover checkout as well).