当前位置:网站首页>[SVN] what is SVN? How do you use it?
[SVN] what is SVN? How do you use it?
2022-07-07 09:14:00 【Songdanmin】
List of articles
SVN What is it? ?
SVN Is an open source version control system .
SVN subversion
Store data that changes over time .
The data is placed in the central resource management repository (Repoitory) in — Similar to a file server , Will remember every file change .
Code version management tools
It can remember every modification
View all the modification records
Restore and delete files
Simple concept
- repository Source code library
- Checkout extract
- Commit Submit
- Update to update
Development process :Update( Get the latest code ) --> Make your own modification and debug successfully --> Commit( You can see your changes ) .
When two programmers modify the same file / On the same line ?
SVN Managing source code is done in units of behavior , That is to say, as long as two programmers don't modify the same line of programs ,SVN Both changes are automatically merged . If it's the same line ,SVN Will prompt the file Conflict, Conflict , Need to confirm manually .
SVN and Git difference :
Easy to use , Quick start
Directory permission control , Enterprise security is a must
subdirectories CheckOut Check out the , Reduce unnecessary file checking out
CVS and SVN difference :
CVS Computer parallel version system (Concurrent Version System): Only single file history can be tracked
SVN Version control tools (Subversion): Track directory changes over time , Both directories and files can be versioned .
SVN Compared with CVS advantage :
Atomic submission
Submit single or multiple files at a time , All submitted as a whole .
If an accident happens halfway / Transmission interruption , It will not cause incomplete database and data corruption .
rename 、 Copy 、 Actions such as deleting files are saved in the version history .
For binaries , A space saving method is used .( Simple understanding , Just save the differences from the previous version )
The catalog also has a version history .
The whole tree can be moved or copied , Easy to operate , And can keep all version records .
The overhead of branching is very small .
Optimized database access , So that some operations can be done without accessing the database .
This reduces a lot of unnecessary network traffic with the database host .
SVN The main function of :
Directory and file version control
Real version history
stay Subversion in , You can add (add)、 Delete (delete)、 Copy (copy) And rename (rename)
Automatic submission
Metadata included in version control
Choose a different network layer
Consistent data processing
Valid branches (branch) And labels (tag)
Hackability
SVN Main application :
- Developers use it for code management
- Used to store some important files , For example, contracts.
- File sharing within the company , And can divide permissions by Directory
SVN Basic operation
Submit and update
Check out the CheckOut
newly added Add
Submit Commit
to update Update
Historical record
Revocation and modification
- Undo local changes
- Undo what has been submitted
- Restore to the specified version
Add ignore
How to ignore files , Some documents do not want to be submitted , You can add ignore
Resolve conflicts
Under what circumstances is conflict prone ?
Several people modified the same line of two files
Binaries that cannot be merged
How to avoid conflict ?
Update and synchronize others' code frequently
Binary files should not be operated by more than one person at the same time
What to do if there is a conflict ?
Manually resolve modification conflicts , Or directly use the other party's
Branch
When do I need to open a branch ?
Isolate online and development versions
Large function development , Don't want to affect others , Independent development branch to develop
The staging
What's the use of temporary storage ?
Situation 1 : The code has changed a lot , But there is an urgent need to modify one Bug, But the code is finished , Cannot submit .
Case 2 : A lot of code rewriting , Suddenly need to release a new version , But the code can't run yet , Cannot submit .
In this case, you can temporarily store the code ,
Complex code merging
situation :
Trunk development new functions , Changed a lot
The branch is an online version , A lot of changes bug
The code of the two branches has been different for a long time , Cannot directly branch merge or specify modification record merge
Use BeyondCompare Tools compare and merge
SVN Directory structure :
svn Branch
svn Classic directory structure :
trunk trunk
branches Branch
tags label
Repositories Warehouse : Store quilt svn Managed project files , You can store the source code , Documents, etc. ;
Users user : Create and edit users ;
Groups Permission group : Create and edit user groups ;
SVN Workflow and architecture diagram
SVN Operation mode :

SVN Architecture diagram :

operation SVN Two ways of server :
command-line Command line mode ;
GUI-client Graphical interface mode ;
svn Service connection mode :
(1) internet network connections :
apache The server ;
svn The server ;
(2) local Local connection :
svn Data storage mode :
File mode :FSFS( Recommended )
Database mode :BerkeleyDB( Berkeley DB)
边栏推荐
- C language pointer (Part 2)
- Several methods of calculating the average value of two numbers
- Output all composite numbers between 6 and 1000
- NVIC中断优先级管理
- How to pass the PMP Exam in a short time?
- Some pit avoidance guidelines for using Huawei ECS
- Synchronized underlying principle, volatile keyword analysis
- PMP examination experience sharing
- Several stages of PMP preparation study
- 2020 year end summary
猜你喜欢

C语言指针(中篇)

Postman interface debugging method

【Istio Network CRD VirtualService、Envoyfilter】

External interrupt to realize key experiment

Why is access to the external network prohibited for internal services of the company?

Interview question: general layout and wiring principles of high-speed PCB

Implementation of corner badge of Youmeng message push

Cesium load vector data

C language pointer (special article)

Locust performance test 5 (analysis)
随机推荐
Register address name mapping
模拟卷Leetcode【普通】1557. 可以到达所有点的最少点数目
What is the value of getting a PMP certificate?
【ChaosBlade:根据标签删除POD、Pod 域名访问异常场景、Pod 文件系统 I/O 故障场景】
5A summary: seven stages of PMP learning
Postman interface test (II. Set global variables \ sets)
Unity shader beginner's Essentials (I) -- basic lighting notes
Alibaba P8 teaches you how to realize multithreading in automated testing? Hurry up and stop
What is the rating of Huishang futures company? Is it safe to open an account? I want to open an account, OK?
模拟卷Leetcode【普通】1706. 球会落何处
Idea development environment installation
Detailed learning notes of JVM memory structure (I)
Isomorphic C language
Self awakening from a 30-year-old female programmer
模拟卷Leetcode【普通】1705. 吃苹果的最大数目
2022-06-30 Unity核心8——模型导入
Several methods of calculating the average value of two numbers
Golang etcdv3 reports an error. The attribute in grpc does not exist
What is the use of PMP certificate?
What are the conditions for applying for NPDP?