📜 ⬆️ ⬇️

In a section: the news aggregator on Android with backend. Version Control System

Introduction (with links to all articles)

When I set aside the necessary time for writing an article about the experience of using a version control system, I spoke with several people involved in development (novices and professionals) about version control systems - the pros and cons of using, the features of their systems, usage scenarios. The conversation always began in approximately the same way: everyone believed that he could answer all my questions and share his experience, but the conversation ended differently: someone just said that he was not an expert in subtleties, someone said that I would not need it - from here we can conclude that version control systems are not as simple a collaboration tool as many people think of it.

The issue of using a version control system for the generated code and artifacts when working alone is open. In this regard, I propose to play the game - I will write situations in which the use of the version control system helped me and convinced me of the need to use it, and you will write how to solve this problem without it (if you don’t find anyone, I will understand ):


A slight digression from the obvious things:


After some time working as a programmer, it comes to understanding that the result of the work of a modern developer (especially in the current DevOps direction) is not only the source code of the program, but also data for testing, setting up test benches, stand deployment scripts, documentation, etc., which allows not only get the executable code, but also configure the necessary environment for its execution, as well as generate documentation for the development and operation of the project by other participants. So, if in the course of work some common settings are used for all, scripts and data that should be shared by all project participants - a suitable place to store them and a way to control their timely updating is the version control system.

All the tasks that confronted me, and which I could imagine in the near future, were solved by the mainstream solution - git and the corresponding hosting for it - GitHub .

Interesting links about git: book | video from Yandex .

The choice of GitHub for me was determined by the following criteria:


As a client, I use the usual SmartGit and the command line client (knowing it at some points is just necessary).

For those to whom it all seems elementary and obvious questions, I left a couple of things, which I did not find an analogue for other version control systems and other git-hosting sites:


Thanks for attention!

Source: https://habr.com/ru/post/334514/


All Articles