Version control is a basic but integral tool in software development. Many people don’t prioritize it while learning to program and, often, develop...
For further actions, you may consider blocking this person and/or reporting abuse
I have tried to get clear understanding of the what and why reading various explanations about version control, but in my eyes all I have checked out yet, including yours, failed to provide a nice designed example demonstrating the necessity of version control, the problems it is facing and the mechanisms behind it. Let's take a closer look at the first sentence of the article: "Version control is a basic but integral tool in software development.". I does not explain what version control is at all ... it's just a bunch of words put together to express an opinion. The next sentences following are not much better ...
Well designed explanation requires very deep understanding of the software, far beyond being able to use it including ideas what are the possible reasons making it hard to understand for a novice.
Thanks for the feedback!
Do you mean that as a beginner, you are still not sure what version control provides you, and if it makes sense to use it in projects?
My trouble is to get understanding how to manage synchronization between a github repository and offline files of cloned one after change. It makes simple things complicated ... for the sake of "remembering" all the past I don't need and don't want. So the question is, how to make changing file content of files in a github repo by changing file content offline on a local clone easy? Now it needs more than one step and I am still not fully sure which steps it needs ... What I would like to achieve is to say: "sync the clone and the repo" and stop bothering me by forcing me to put additional work into it only for the version control own needs and purposes.
Thank you, that's an excellent question or questions!
One would be why you need to
git add <somethign>, before you commit, and the other why you need to pull the remote to know what is there right now.I wrote about confusing complexity in Git before:
how-to.dev/why-git-is-so-complicated
It can provide some context for things that bother you in Git.
Citation from the linked article:
Git will make your life miserable if you try to use it without understanding it well.
OK ... what is says in other words is:
In order to avoid miserable life the easy way ... don't use Git ...
It's something for guys like Linus Torvalds who are "living inside the command line".
We got to the root of the problem:
There is a knowledge gap between:
I tried to bridge the gap a bit in those two articles, but as you pointed out in the first comment: the attempt at "selling" Git was not successful, at least with you.
I will probably try some time again, as it really helps in day-to-day work, and it's pitty that most devs have to be first forced to use it, then forced by weird errors to learn it, and sometimes, finally getting completely on-board.
I don't live in CLI, but most of my working hours are spent there.
I suggest the root of the problem to be another one: it is the tendency of the mind to stick to the past instead of considering mainly only here and now. Imagine you have bought a new notebook because your old one is not worth the repair or much too slow for what you need. You can now decide to keep your old one, or decide to let it go ... make it part of electronic waste you want to get rid of in order to clean up your space from the artifacts of the past or keep it in order to run some old stuff it is still good for on it.
If you have a clear vision of what you want to achieve and now make an improvement, what is the point of keeping the old version with all the details of past changes? There isn't any. The point is artificially created by "What if I made a mistake and need to go back to the past version?". If you made a mistake .... in the past ... just create here and now a new version without this detected mistake and forget about it ... you won't need it anymore ... it was a mistake anyway, right?
The root of the necessity of going back to the past are changes in your vision where the vision was not clear enough in first place, so that the improved version is no more fully compatible with the old one within the system you are using. Now you need to keep track of the changes ... and use all the machinery required to allow you to go back to the past in spite of availability of what you considered an improvement worth the change.
It's a bit like creating a system which has issues in first place and then developing tools to solve this issues, where the much better way would be to create a new system without the issues ...
So the gap is maybe not a gap in knowledge ... it is possibly a gap in the attitude ....a gap between those living almost entirely from their mind thinking they are what they think and those living from the spirit and using the mind as a tool for purposeful shaping of here and now letting the past go to most possible and making sense extent.