当前位置:网站首页>[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)
边栏推荐
- Simulation volume leetcode [general] 1567 Length of the longest subarray whose product is a positive number
- Test Engineer Interview Questions 2022
- Skill review of test engineer before interview
- [chaosblade: node disk filling, killing the specified process on the node, suspending the specified process on the node]
- Systick tick timer
- Serializer & modelserializer of DRF serialization and deserialization
- Count the number of words C language
- When inputting an expression in the input box, an error is reported: incorrect string value:'\xf0\x9f... ' for column 'XXX' at row 1
- Unityshader introduction essentials personal summary -- Basic chapter (I)
- PMP Exam Preparation experience, seek common ground while reserving differences, and successfully pass the exam
猜你喜欢

MySQL common statements

Calf problem

How to pass the PMP Exam in a short time?

外部中断实现按键实验

H3C VXLAN配置

UnityShader入门精要个人总结--基础篇(一)

Postman interface test (II. Set global variables \ sets)

端口复用和重映像

The longest ascending subsequence model acwing 1017 Strange thief Kidd's glider

Run can start normally, and debug doesn't start or report an error, which seems to be stuck
随机推荐
Serial port experiment - simple data sending and receiving
Original collection of hardware bear (updated on May 2022)
Locust performance test 2 (interface request)
2022-06-30 Unity核心8——模型导入
C语言指针(下篇)
MySql数据库-事务-学习笔记
Pytest+request+allure+excel interface automatic construction from 0 to 1 [five nails / flying Book notice]
C语言指针(上篇)
Locust performance test 5 (analysis)
【istio简介、架构、组件】
JVM garbage collection detailed learning notes (II)
使用Typora编辑markdown上传CSDN时图片大小调整麻烦问题
C language for calculating the product of two matrices
串口实验——简单数据收发
Count the number of words in the string c language
Confitest of fixture py
Entity of cesium data visualization (Part 1)
Reading notes of pyramid principle
Port occupation troubleshooting
Test Engineer Interview Questions 2022