Git
Distributed version control system. 2005-to date, Creator: Linus Torvalds. Features: fast, non-linear, and branch.
Why use git?
1. Powerful
At the beginning of git development, the goal is to manage the Linux kernel. So far, the number of incomplete statistics on the code in the oldest and most classic Linux kernel v2.6 versions is 5.92 million lines. If git can be used in such a project, what can we say in addition to being powerful?
2. Local
Git, as a version control system, is not unique in its field. It is also popular with version control systems such as SVN and CVS. But unlike git, both of them are centralized version control systems. In the collaborative development process, the code modification and storage operations must be managed by the Code hosting server, that is, through the network (even the LAN ). That is to say, if the developer makes a lot of modifications to the code, they can only wait until there is a network to save and submit the work, which leads to chaotic code submission history and is not convenient for maintenance and debugging. Git, as a distributed version control system, has the traditional feature of being localized. The so-called localization means that the development progress can be saved and modified without a network, so that the submission history is clear and logical.
3. Branch
Git introduces the concept of branch in version control. In traditional systems, the development line of projects is single and monotonous, and the requirements of projects are usually parallel, such as multi-channel release and different feature versions, such a requirement can still be met in a single development line, but it will always lead to repeated work and even useless work. By introducing the concept of branch, git can avoid these situations. For example, a project can be easily divided into Development Branch (line) and release Branch (line ), stable functions and bugs that have been successfully fixed can be tested in the Development Branch and merged into the production branch. The released version does not contain the yet stable development functions. Multi-channel publishing allows you to configure a branch for each channel, but some of their configuration files are different. You can easily follow up the progress of the main functions and problems.
4. Open Source
GitHub, Bitbucket, and other internationally renowned code hosting service providers all use git as their control systems. In China, such as csdn and oschina have launched similar services. Why? This is the power of open source. Git, as another difference from the traditional version control system, is distributed, that is, everyone is a vendor, everyone is a server, and everyone is a workstation. In traditional control systems, codes are centrally managed on managed servers. Code cloning and modification operations by any organization are reported to one place, which is not reproducible, it does not cater to the interaction required by open-source projects. Git, however, can be said to be a clone, benefiting for life. Every unit that has cloned the GIT repository can be considered as a hosting server, that is, the full repository can be provided to other units, greatly improving the project's proliferation and security index, even if the initial project Hosting Server fails, any organization cloned from the warehouse can use simple configuration to act as a new hosting server.
5. Trend
If you have not set up a project on GitHub, you are out of date. Use the time to go home from work to watch TV. Git quickly conquered a large number of developers with its flexible, fast, localized, and unique concept of Branch Control. Well-known projects such as Android, Eclipse, Perl, PHP, and gnome are managed using git, following the trend and embracing new life, you will surely get a new experience!
Why do you want to write some articles about git?
Easy to use. I like git very much for its ease of use. I would like to boast such a good tool and help with promotion. Memory. It is inevitable that one day, we will be unfamiliar with the use of git. I think that day, what I wrote can evoke my memories like a dictionary. What even more touched me was that my former colleagues who took me and helped me learn many git skills suddenly sought help on git's simple use one day, and were most unfamiliar with me. I hope that later I can continue writing, and I hope that someone will be able to get help.
Practical development skills: Git-Introduction