SVN general operations and related knowledge

Source: Internet
Author: User
Tags mercurial version control system tortoisesvn

SVN general operations and related knowledge

First, what is version control

It is a software engineering program to ensure that the same files that are edited by different people are updated in the process of development, that it controls the changes to the various modules of the recording program through the document, and that the serial numbers are numbered for each change, and that they can be traced back to the previous version after the error has been edited.

Second, we can choose the version control system

1.VCS (local version control)

2.VSS,CVS(centralized version control)

3,ClearCase,SVN,Perforce,TFS (centralized version control)

4,Mercurial(Mercury / Mercury),Git(Distributed version control)

Difference:

The main difference between 1.Git and other version control systems isthatGit only cares about whether the overall file data has changed, while most other systems only care about the specific differences in file content, They record the specific differences of each file in each version.

2.Subversion is a version control system, relative to the RCS, CVS, the use of branch management system, its design goal is to replace the CVS, better than the place of the CVS atom submission. A single commit, whether individual or multiple files, is submitted as a whole.

3. The distributed Versioning System (distributed version Control systems, abbreviated as DVCS) is available. In such systems, such as Git, Mercurial, Bazaar, and Darcs, the client does not just extract the latest version of the file snapshot, but instead completely mirrors the code repository. As a result, any server that works together fails and can be recovered using any of the mirrored local repositories afterwards. Because each cloning operation is actually a full backup of the code warehouse at one time.

Third, SVN and git

1) The applicable objects are different. Git works for developers who participate in open source projects. They are more concerned with efficiency than ease of use because of their high level. SVN is different, it is suitable for the common company development team. Easier to use.

2) The use of different occasions. Git is designed for single-project development with multiple development roles over the Internet, and SVN is suitable for the development of multiple parallel projects within the enterprise that are coordinated by the project manager.

3) The Rights Management policy is different. Git does not have strict rights management control, as long as there are accounts, you can export, import code, and even perform a fallback operation. SVN has strict rights management, which can be controlled by group and by individual for the permission of one subdirectory. Distinguish between read and write permissions. More stringent, fallback operations are not supported. Ensure that the code can always be traced.

4) Branches (branch) are not used in the same range. In Git , you can only branch the entire warehouse, and once you delete it, you can't recover it. In SVN, branch can target any subdirectory, which is essentially a copy operation. So, you can build a very many, hierarchical branch, and, when not needed to delete it, and later need as long as the checkout old SVN version can be.

5) based on the 3rd,Git is suitable for simple software projects, typically some open source projects, such as the Linux kernel, BusyBox, etc. Instead, SVN excels at multi-project management. For example, you can store a bsp/design document/File system/application/Automation compilation script for a mobile project in an SVN repository, or a file system that stores 5 mobile projects in one SVN. git must build N (number of items) *m (number of components) of the warehouse. Only a maximum of n or M will be required in SVN.

6)Git uses a 128-bit ID as the version number, and checkout to indicate which branch, and SVN uses an incrementing serial number as the globally unique version number, more concise and easy to understand. Although you can use Gittag to create some textual aliases, it is only for special versions.

7) Traceability, the typical development process ofgit is: Establish branch, develop, commit to local master, delete branch. The consequence of this is that the details of the previous modifications are lost. And doing the same thing under SVN won't lose any detail. Here is an interesting link that shows how typical git works: (with Master as the core, create new branch, delete old branch):

http://www.kernel.org/pub/software/scm/ git /docs/howto/separating-topic-branches.txt

8) Partial update, local restore. SVN is managed by creating an. svn folder in a folder, so it's easy to implement partial updates or restores. If you only want to update some parts, SVN can be very well implemented. At the same time the code is wrong, and can be a good local restore, of course, git can also be restored through the historical version, but it is not easy to implement a partial restore.

Iv. General operation of SVN

1.TortoiseSVN website address:http://tortoisesvn.tigris.orgCheckout Download the software corresponding to the computer.

2.ckeckout (Checkout) Click the right mouse button checkout option to specify the resource library, export the address click OK.

3. Add a file or folder in the checked out file, first add the file or folder--mouse

Right click on tortoisesvn option-->ADD-->SVN commit

4. Publish a project folder to the SVN server and configure the SVN plugin on Eclipse http://subclipse.tigris.org/update_1.12.x

right mouse button-->team-->share Project-->svn-->next-->finish

5.Update Update right mouse button-->team-->update

6.Export Export right mouse button-->TORTOISESVN option-->export

7. Historical version Eclipse right-->team--> show Historical Resources version folder right-->TORTOISESVN option-->show log

8. Lock the right mouse button-->TORTOISESVN option-->get lock

9. backup file operation right mouse button-->TORTOISESVN option-->export

10. Eclipse right mouse button-->team-->/Mark specify the name of the right mouse button-->team-->update

File right mouse button-->tortoisesvn option-->branch/tag

11. Conflicts when different users are working on a line of code at the same time, the commit will be conflicting and update.

SVN general operations and related knowledge

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.