I do understand the need to simplify concept for beginners. If scrutinized, every article geared towards begginers are technically wrong in how they explain their code. Most of those do not matter unless they are giving you information that is false enough to mislead you in getting a false understanding of the concept they are educating about.
This article is such a case. I am taking time to report it because it would have had a very significant impact on our company’s project if had not check other sources as well. Here is my case and why this is beyond “just a simplification”.
I am working on the autoupdate feature of our new electron app. The built-in or otherwise supported updaters seem to download the complete app with all its files. This is not ideal for our usecase since we need to have the app update itself on muliple remote computers that use limited and expensive data plans. Getting the changes via a git repo is vastly more data efficient. The main executable file is 139 MB. This is were how the article is worded and the way you use the word meta-data are so far from what actually happens that it actually is well into ‘false’ and ‘misleading’ territory.
The article says that it doesn’t transfer the files, it just checks if there is any changes compared to the local version via the meta-data. After reading it, I thought it would just compare the latest commit hashes to see if there is a newer one on the remote repo. In fact it would check AND download in my case all that 139 MB executable to my machine, making it available to merge afterwards while OFFLINE since it would be then on my machine already. That makes the “doesn’t do any file transferring” claim false and misleading.
You are using the word meta-data wrong when trying to defend the article. That puzzled me a bit as well. When you say “The metadata needed to apply any remote changes”, meta-data alone does not contain the information from the new commit - that’s data! A hefty 139 MB of data in my case. Meta-data would be the commit hash, timestamp, … - information ABOUT the data, but NOT the data itself, by definition of the word.
The last paragraph of the article also say that fetch checks for changes and and that you need to pull to apply the changes, leaving the information that fetch actually gets the data to apply the changes on your computer already.
All this article would need to be correct and remain simple would be to just mention that fetch downloads all the data for new changes and keeps it ready to use but does not apply it files to the files the user is working with.
This genuinely feels more like a misunderstanding of the command rather than an oversiplification mistake.
I am not attacking you or the author with my observation, I just want to push for improvement and clarification - especially given the prominence of this in the search results.