Right now I'm in a small-sized team where we work on changes in our own feature branches and then push to a central repository for review before finally merging into a branch which will later be integrated into master.
I have a colleague who seems to have strange notions about how git works. For example, when reviewing a pull-request of his and insisting that his change required an updated submodule, he was adamant that I was not able to build his code because I was not on his branch, even though my commit was at the HEAD of his branch's commit (I can't remember the workflow, I probably did a 'git fetch' and then a checkout on his latest commit ID).
Many times we have found that he had not rebased his changes or had not updated submodule references. It doesn't matter to me that there was a lack of attention to detail since we all make mistakes, but how can I make him grok how git really works?
I have other colleagues which don't entirely understand how rebasing or other git commands work either, but they for the most part only need to be shown to understand.