svn设置忽略文件

wuzeling2022年9月13日大约 11 分钟约 3261 字

svn设置忽略文件

前言

什么是SVN?

SVN是subversion的缩写,是一个开放源代码的版本控制系统。简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

为什么要使用SVN?

  • 把自己编写代码提交至服务器。每提交一次会产生一个版本,如果在实际过程中写错了可查看或回退历史版本;
  • 协同工作,提高团队工作效率。实际开发中不止一个人在开发,当多人开发并提交代码后,SVN服务器会自动合并代码;
  • 可以追溯提交时间和提交人,比如多人修改了同一个片段的代码,可以查看是谁修改了什么代码;
  • 轻松比较不同版本间的细微差别
  • ......

设置忽略文件

在多数项目中,你总会有文件和目录不需要进行版本控制。这可能包括一些由编译器生成的文件,比如编译器自动生成的文件.vscode.idea等,或许是某些依赖包的文件夹和不需要进行管理的文件输出,比如node_modulesiosandroid.cachedist等等。

为什么要配置忽略文件?

如果不进行忽略文件的设置,很多中间文件和二进制文件都被commit到库中,浪费空间不说,还带来管理上的混乱。

以下是我们开发中新增的忽略文件设置:

  • 编译器:.idea.vscode
  • git:.editorconfig.gitignore
  • App端:node_modulesdist.sourcemapsandroidiosplatformswwwplugins
  • PC端:node_modulesdist.sourcemaps.temp.cacheeslintrc-auto-import.jsonauto-imports.d.tscomponents.d.ts

MacOS

  1. 首先打开安装好的Cornerstone软件,点击左上角的Cornerstone,点击Preferences(偏好设置)

    图 3

  2. 在设置界面展开选项,找到Subversion并点击

    图 4

  3. 以下界面就是我们设置忽略文件的地方。首先取消掉勾选选项,勾选的意思是使用默认的忽略文件配置,我们需要自定义,因此不勾选。

    图 6

  4. 可以看到这个文本框里面已经有了一些内容,是软件默认帮我们配置的,我们不对其进行修改,直接在它的基础上添加忽略的文件。

    在文本框内输入文件名(或文件夹),按下回车就会添加该忽略项,最后点击右下角保存按钮即可。

    图 7

Windows

  1. 首先在桌面右键菜单找到TortoiseSVN,点击Settings进入设置界面

    图 8

  2. General(常用)菜单界面找到Subversion,在Global ignore pattern栏配置忽略文件。设置完成后点击下方应用按钮即可。

注意,每个配置项之间用空格分隔

图 9

svn的使用

MacOS

MacOS用户安装Cornerstone客户端 下载地址open in new window

下载项目

  1. 首先复制一下svn的地址 (因为Cornerstone可以帮我们自动识别已复制的地址)。然后打开Cornerstone,点击左下角的加号,选择Add Repository进行创建一个库。

    图 1

  2. 选择HTTP Server,如果你已经按照前面的步骤操作,那么这时候项目的配置已经被自动粘贴到了该界面。你只需要填写自己的svn账号和密码,最后点击Add完成创建库。

    图 3

  3. 在左侧的仓库列表我们可以看到刚刚添加的库,但它只是一个远程仓库,并不存在你的电脑中。所以我们要先把它检出一份到我们本地,右键该仓库,选择Check Out Working Copy

    图 4

  4. 选择文件的存放位置和命名,默认检出的是最新版本。如果有特殊需求,可以在底部选择你要检出的项目版本和检出的文件类型。 最后点击右下角Check Out

    图 5

  5. 打开Finder到刚刚保存的位置底下就能看到检出的文件了。这样就完成了从svn下载项目了!

    图 6

修改代码

修改代码之前,特别是公共代码,要先"锁住"这个文件。

什么是锁?为什么要锁住文件?

在多人开发中,如果多个人同时修改一个文件,那么最后提交文件的时候有可能会造成冲突。比如,同一段代码,你新增了一句,同时另一个同事不知道你在修改这个文件,他删除了一整段。最终提交的时候svn是要保留还是删除呢?这时候就会发生冲突。

因此我们在修改代码之前,需要先告诉大家:我正在修改这个文件,你先不要动,等我改完提交了你再来改。于是svn用“锁”这个动作来告诉大家:这个文件现在被某人锁住了,你改不了。

  1. 首先需要对所有文件进行配置。依次打开CornerStone->Preferences->Subversion,进入设置界面

    图 44

    这一步是配置所有文件都是只读状态,如果需要修改文件内容,则必须进行Lock操作

  2. 找到你要修改的文件,右键,选择Lock

    图 35

  3. 这时候出现一个窗口,里面会展示谁锁住了这个文件,如果没有人锁住(如下图),这时你可以点击右下角Lock进行锁住文件操作。随后会出现一个锁的图标,代表这个文件已经被你锁住了,现在可以愉快地进行开发了!

    图 36

    图 37

  4. 当然有“锁”就会有“解锁”,当你已经修改完代码并且提交了,你需要把这个文件解锁,好让其他同事也能使用这个文件。

    图 38

注意:在锁住文件之前,需要先获取最新代码,有可能其他同事刚刚提交了新的代码。

更新代码

  1. 打开Cornerstone,找到你要更新的项目的文件夹, (注意,这里选择的是仓库下检出的文件夹,如果选择仓库,更新按钮是禁用的)

    图 7

  2. 点击Update按钮,出现绿色的勾勾符号和Updated ... to revision xxx 就代表获取最新代码完成了。

    图 8

提交代码

  1. 打开Cornerstone,找到你要提交的项目的文件夹,点击Commit按钮

    图 17

  2. 在上方的文本框写下你提交了什么内容,这是为了方便所有开发者能了解你大致改动了什么内容,方便日后出现bug排除问题和回溯历史版本。

    图 19

其他常用操作

图 47

图 49

更多详细教程请移步Cornerstone使用教程open in new window

常见的文件符号

修改代码后,可以切换到change查看修改了哪些文件。每个修改的文件后面都有一个符号,

  • ?表示在你的项目中引用了,但是还没有添加进来;

  • M表示该文件内容被修改了;

  • A表示新增文件;

  • D表示该文件被删除了;

  • C表示该文件有冲突;

  • ......

    图 9

下面对各种类型的文件操作进行详解:

  1. ?:带问号的文件,说明你本地引入了这个文件,但是没有告诉svn这个文件最终要不要提交到服务器,因此需要先告诉svn,我这个文件是要提交的。

图 10

这时候刚刚添加的文件后面的符号变成了A,说明svn已经知道了这些文件是你新增的。

图 11

  1. !:带感叹号的文件,说明你本地删除了这个文件,但是没有告诉svn这个删除的操作最终要不要提交到服务器,因此需要先告诉svn,这个文件的确是要被删除的。

图 14

这时候刚刚的文件后面的符号变成了D,说明svn已经知道了这些文件是需要被删除的。

图 15

  1. M:带M的文件,说明这个文件有内容被修改了。你可以点击它,再选择左下角的Compare with Base,就可以跟之前的版本对比修改了哪些内容。

图 16

Windows

Windows用户安装TortoiseSVN客户端

请参考windows安装svn教程open in new window

下载项目

  1. 在桌面右键菜单,选择SVN Checkout...

    图 20

  2. 填写项目地址并选择文件的存放位置,然后点击OK。等待文件检出完成。

    图 21

  3. 项目检出完成!

    图 30

修改代码

修改代码之前,特别是公共代码,要先"锁住"这个文件。

什么是锁?为什么要锁住文件?

在多人开发中,如果多个人同时修改一个文件,那么最后提交文件的时候有可能会造成冲突。比如,同一段代码,你新增了一句,同时另一个同事不知道你在修改这个文件,他删除了一整段。最终提交的时候svn是要保留还是删除呢?这时候就会发生冲突。

因此我们在修改代码之前,需要先告诉大家:我正在修改这个文件,你先不要动,等我改完提交了你再来改。于是svn用“锁”这个动作来告诉大家:这个文件现在被某人锁住了,你改不了。

  1. 打开svn项目的本地文件夹,找到需要修改的文件,右键选择SVN Get lock

    图 43

  2. 这时候出现一个窗口,里面会展示谁锁住了这个文件,如果没有人锁住(如下图),这时你可以点击右下角OK进行锁住文件操作。随后会出现一个锁的图标,代表这个文件已经被你锁住了,现在可以愉快地进行开发了!

    图 42

    图 41

    图 40

  3. 当然有“锁”就会有“解锁”,当你已经修改完代码并且提交了,你需要把这个文件解锁,好让其他同事也能使用这个文件。

    图 39

注意:在锁住文件之前,需要先获取最新代码,有可能其他同事刚刚提交了新的代码。

更新代码

  1. 找到本地文件夹的根目录,右键,选择SVN Update

    图 23

  2. 出现Updated Finished 就代表获取最新代码完成了。

    图 22

提交代码

  1. 找到本地文件夹的根目录,右键,选择SVN Commit

    图 31

  2. 出现提交窗口后,在顶部文本框编写本次提交的内容,在下方选择需要提交的文件,最后点击OK完成提交操作。

    图 29

其他常用操作

图 46

更多详细教程请移步TortoiseSVN使用教程open in new window

常见的文件符号

提交代码之前,可以看到被修改的文件后面会有一个status状态,常见状态有以下几种:

  • non-versioned表示在你的项目中引用了,但是还没有添加进来;

  • modified表示该文件内容被修改了;

  • added表示新增的文件;

  • missing表示该文件丢失了;

  • deleted表示该文件被删除了;

  • ......

    图 27

下面对各种类型的文件操作进行详解:

non-versioned:没有添加的文件,说明你本地引入了这个文件,但是没有告诉svn这个文件最终要不要提交到服务器,因此需要先告诉svn,我这个文件是要提交的。

图 28

这时候刚刚添加的文件后面的符号变成了added,说明svn已经知道了这些文件是你新增的。

图 32

missing:带感叹号的文件,说明你本地删除了这个文件,但是没有告诉svn这个删除的操作最终要不要提交到服务器,因此需要先告诉svn,这个文件的确是要被删除的。

图 26

这时候刚刚的文件后面的符号变成了deleted,说明svn已经知道了这些文件是需要被删除的。

图 24

modified:说明这个文件有内容被修改了。你可以右键选择它,再选择Compare with Base,就可以跟之前的版本对比修改了哪些内容。

图 25

上次编辑于: 2023/7/5 03:00:45
贡献者: caoguanjie
Loading...