Job Two: Source program management software and project management software

Source: Internet
Author: User
Tags version control system git commands


This week's job title requires:


Check the Internet. What are the popular source program version management software and project management software? What are the pros and cons?


Initial knowledge source program version management software and project management software


When you see this topic is a little confused, before this does not know what is the source program version management software, project management software is what. So the Baidu got the following answer: Source program version management software (version control software) to provide complete version management functions for storing, Tracking directory (folder) and file modification history, is the software developer's essential tool, is the software company's infrastructure. The highest goal of the version control software is to support the software company's configuration management activities, track multiple versions of development and maintenance activities, and release the software in a timely manner. After a period of digestion to understand that this software will record a program development of each version and its changes, to help us develop software. project management refers to the process of managing project planning, defining, monitoring, controlling, and confirming delivery, project management software, by definition, is the software that helps us with project management.


The current popular source program management software SVN





SVN is the abbreviation for Subversion, is an open source version control system, compared to RCS, CVS, it uses the branch management system, its design goal is to replace CVS. Many version control services on the Internet have migrated from CVs to subversion. It's easy to say. SVN is used for multiple people to jointly develop the same project, sharing resources for the purpose. Because it was designed to replace CVS, I chose to compare it with SVN with CVS, as follows:



  1. Storage format



CVS is a version control system based on RCS files. Each CVS file is just an ordinary file, plus some additional information. These files will simply repeat the tree structure of the local file. Therefore, you do not have to worry about any data loss, and you can manually modify the RCS file if necessary.



SVN is based on a relational database (BERKLEYDB) or a series of binary files (FS_FS). On the one hand this solves many problems (for example, parallel read and write shared files) and adds many new features such as runtime transaction characteristics. )。 On the other hand, however, data storage becomes opaque.



2. Speed



CVS is relatively slow. Overall, SVN is a lot faster than CVS because of the different architecture implementations. It only transmits very little information on the network and supports more features of the offline mode. But it also comes at a price. The price of speed is huge storage (full backup of all working files).



3. Marks & Branches



SVN uses flags and branches to discard the other three things, which in effect means they replace the concept with copying files or directories inside the archive to save the log. This way, either the flag creation or the branch creation is just a copy of the file inside the warehouse. For a branch: a branch is just a separate directory inside the warehouse, unlike the early stages. For flags: The code cannot be flagged anymore. In a way, the SVN full file number complements this flaw, and the entire repository in SVN has a version number, but not a single file.



  4. Meta-Data



CVS only allows files to be stored.



SVN allows a file to have any number of named properties, which is completely functional.



  5 File types



CVS was originally designed for the storage of text files. So there is little support for other file types (binary, Uniform Code) files, and other information if needed, and the client server is tuned.



SVN cares about all the file types and doesn't require you to do it manually.



  6 Rolling back



CVS allows any rollback to be made on any of the submitted versions, although it takes some time (all files are processed separately).



SVN is not allowed to roll back after submission. It is recommended that you add a good version of the state to the end of the repository, overwriting the damaged version. The corrupted version will exist in the database anyway. (The SVN rollback operation is actually a merge operation)



7 Business



The "0 or one" transaction principle in CVS is not implemented at all. If you check in a few files (add to the server), it is very likely that some of the files are complete, and the others are not. As a unspoken rule, manually correct these and repeat check-in for the remaining files (not all files) one by one. These files will be checked in in two phases. SVN does support the "0 or one" transaction principle, which is one of the great advantages of SVN.








GitHub





Git is a distributed version control system that was originally written by Linus Torvalds and used as the management of Linux kernel code. Since its launch, Git has also been a big success in other projects, especially in the Ruby community. Git is currently used in many well-known projects, including Rubinius, Merb and Bitcoin. Git can also be used by deployment tools such as Capistrano and Vlad the Deployer.



  Advantages:



GitHub is a very versatile tool. He is the ideal tool for any size project, and he is also a great web workflow tool. First, he can use it as a version control system and collaboration tool to publish work.



With GitHub, you can archive projects, share conversations with others, and let other developers help you with this project. The advantage is that he supports multiple people to complete a project, so you can talk on the same page.



Create your own projects and backup, the code does not need to be saved locally or on the server, GitHub is doing very well.



GitHub has the largest open source community, and if applied properly we can find everything we need, and we can better communicate with more people!



There are also many benefits to learning about Git. He is seen as a pre-maintenance process, you can recover as you need, submit problems, or you need to recover any form of code, can avoid a lot of trouble. One of the best features of git is the ability to track errors, which makes using GitHub easier. Bugs can be made public, and you can submit errors via GitHub comments.



On the GitHub page, you can start directly without having to set up a host or DNS.



Disadvantages:
If you're a novice on GitHub, the first challenge is to put a positive mindset-it needs to be constantly practiced and time.



He may not be the best tool for capturing creative processes and documenting creative ideas. For this special function simulation you can choose Layervault or other similar tools. Before, we've emphasized that GitHub is very useful for code tracking, but it's not the best design tracking tool. Turning the picture content into code, or designing for a product setup, still doesn't look that smooth.



This is determined by the designer, however, some people find the GUI a bit confusing and choose the CLI instead. Some developers learn to use GIT commands primarily, which explains why they don't like the GUI very much. A little practice, command of learning is not too difficult. However, do you like to write orders every day? Especially when tracking the project history or resolving conflicts. So there's another group of people who like the GUI. A better experience is to visualize actions such as committing, modifying, moving files, and so on. And these, as mentioned earlier, need time to adapt.



If you work exclusively on GitHub, versioning repositories are worth it and you need to pay for them for the long haul.








Coding





Coding is a developer-oriented cloud development platform that currently provides code hosting, running space, quality control, project management and more. In addition, social collaboration features are included, which allow developers to engage in technical discussions and collaboration. Compared to other source program management software, coding is an up-and-comer, and does not use the platform, so there is not too much comparison, also in the online forum, the community has been looking for, so not too understand its advantages and disadvantages. But in the knowledge of the domestic many of the program apes are still using coding and Oschina.


Team Foundation Server





TFS is a project developed for collaboration software that provides source control,  reporting, and project tracking for Microsoft products. Available as standalone software, or Visual Studio Team System (VSTS) on a server-side back-end platform.



TFS is a great source program management software.



The core of TFS is support for projects such as agile, Msf,cmmi, process management, and process improvement. or according to Microsoft's words, referred to as ALM, product life cycle management. In this respect, we really understand that the number of teams and companies that can be applied is very small. Most are really used, that is, the source code control part, which is only a small part of the TFS function. For small teams, the vast majority of companies, to install an SVN is more real.


GitHub registration Process


Since GitHub has the largest open source community, I chose GitHub to help with software engineering.



Step One:



Go to GitHub's website: https://github.com/



Step Two:



Go to the registration page and enter your account name, email address, and password.






Step Three:



Choose the service standards used, different services have different charges.






Step Four:



Complete the registration! Learn about GitHub.


 To this, the basic requirements of this operation have been completed. Next is the add-on question, which uploads the code using GitHub.


Job Two: Source program management software and project management software


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.