1、Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、Linux命令行下往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3、Linux命令行下将改动的文件提交到版本库 svn commit -m “Log
最好的办法,不知道命令,用个svn的插件,图形界面处理一次,然后记住console里面的命令就行了。 设置HTTP代理 个人使用的方法是直接修改配置文件。Mac配置文件在 用户目录下的.subversion中,执行以下命令: vi ~/.subversion/servers 添加如下配置: http-proxy-host =proxy.xxx.com http-proxy-port =8080 忽略文件,不加入版本 svn propedit svn:ignore . 说明,第一步先要cd到要忽略的文件的父目
哈哈,不知道大家有没有这种需求,是不是看到标题感到有点蛋疼呢?无论如何,我今天想要实现这个操作,发现还不是那么容易的呢。可能使用原生 SVN 或者使用命令行可以比较容易达到这个效果吧(不知道,也可能不行),不过虽然我是个程序员,但坦白说我并不喜欢命令行。所以,我就寻求直接使用 TortoiseSVN 的图形化操作来达成的方法。没想到还真成了,不敢独享,分享如下。
本文主要是说明linux下svn命令的使用方法,同时记录自己在使用中遇到的一些疑惑。
项目组有个需求:目前我们线上代码都是git 仓库托管的,开发和前端都需要对仓库中的js目录中的文件进行修改,为了避免冲突,想到了把仓库中的子目录分离开来,让前端工程师可以提交到git 仓库。以前是通过ftp进行更新,会有很多问题。更改了这种方式会提高工作效率
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(这是安装配合Apache的模块,我暂时还没做,做了再补上,你可以只装subversion,多装了也无所谓)
最新更新:2020-12-09 22:38:32 2020-11-18 16:54:08+0800 chenxizhan new
转自:http://blog.chinaunix.net/uid-22566367-id-1965771.html
最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全: 1、将文件checkout到本地目录 svn checkout path(path是服务器 上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co
最近换了Mac作为工作机,没有GUI来进行SVN的操作,只能用Terminal了。把常用命令记录在这里。
本章将详细介绍SVN权限配置涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。除此之外的其他配置、安装等内容,不是本文重点,读者若有什么疑问,请参考后面“参考文献”中列出的一些文档。
Git与SVN都是版本控制系统,版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一,最主要的功能就是追踪文件的变更。
一、 1、启动SVN sudo svnserve -d -r /home/data/svn/ 其中 -d 表示守护进程, -r 表示在后台执行 /home/data/svn/ 为svn的安装目
如前个问题所描述:git及分布式版本控制系统的显著特点是:版本库位置工作区根目录。以git为例,是根目录下的.git目录。
最近由于在看、SvnServer同步生产环境代码相关,特意了解了一下SVN的钩子。 1、SVN的hooks start-commit 提交前触发事务 pre-commit 提交完成前触发事务 post-commit 提交完成时触发事务 pre-revprop-change 版本属性修改前触发事务 post-revprop-change 版本属性修改后触发事务 通过上面这些名称编写的脚本就就可以实现多种功能了,相当强大。 SVN命令详解【转】 1、将文件checkout到本地目录 svn checkout
都已经用了git,为什么还要介绍svn呢?为了让aicoder.com的学员能够掌握多种的源代码管理工具的使用方法,更快的融入到项目开发中,特整理此文档。
为什么要使用配置管理 及时了解团队中其他成员的进度。 轻松比较不同版本间的细微差别; 记录每个文件成长的每步细节,利于成果的复用(reuse); 资料共享,避免以往靠邮件发送文件造成的版本混乱; 人人为我,我为人人。所有成员维护的实际是同一个版本库,无需专人维护所有文件的最新版本; 协同工作,大大提高团队工作效率,无论团队成员分布在天涯还是海角; ---- 1、Subversion/TortoiseSVN的版本控制系统 Subversion:是一个开源的版本控制系统,拥有CVS的大部分特征,并在CVS的基础
Ubuntu下SVN安装和配置 一、SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home/xiaozhe/svn/ $ sudo mkdir mypro 3.创建svn文件仓库 $ sudo svnadmin create /home/xiaozhe/svn/mypro 4.导入项目到svn文件仓库 (可有可无) $ sudo svn imp
#!/usr/bin/env/ python # -*- coding:utf-8 -*- __author__ = 'shouke' import os import subprocess # 复制文件或目录到指定目录(非自身目录) def copy_dir_or_file(src, dest): if not os.path.exists(dest): print('目标路径:%s 不存在' % dest) return [False, '目标路径:%s 不存在' % dest] elif not os.path.isdir(dest): print('目标路径:%s 不为目录' % dest) return [False, '目标路径:%s 不为目录' % dest] elif src.replace('/', '\\').rstrip('\\') == dest.replace('/', '\\').rstrip('\\'): print('源路径和目标路径相同,无需复制') return [True,'源路径和目标路径相同,不需要复制'] if not os.path.exists(src): print('源路径:%s 不存在' % src) return [False, '源路径:%s 不存在' % src] # /E 复制目录和子目录,包括空的 /Y 无需确认,自动覆盖已有文件 args = 'xcopy /YE ' + os.path.normpath(src) + ' ' + os.path.normpath(dest) # 注意:xcopy不支持 d:/xxx,只支持 d:\xxxx,所以要转换 try: with subprocess.Popen(args, shell=True, universal_newlines = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as proc: output = proc.communicate() print('复制文件操作输出:%s' % str(output)) if not output[1]: print('复制目标文件|目录(%s) 到目标目录(%s)成功' % (src, dest)) return [True,'复制成功'] else: print('复制目标文件|目录(%s) 到目标目录(%s)失败:%s' % (src, dest, output[1])) return [False,'复制目标文件|目录(%s) 到目标目录(%s)失败:%s' % (src, dest, output[1])] except Exception as e: print('复制目标文件|目录(%s) 到目标目录(%s)失败 %s' % (src, dest, e)) return [False, '复制目标文件|目录(%s) 到目标目录(%s)失败 %s' % (src, dest, e)] # 删除指定目录及其子目录下的所有子文件,不删除目录 def delete_file(dirpath): if not os.path.exists(dirpath): print('要删除的目标路径:%s 不存在' % dirpath) return [False, '要删除的目标路径:%s 不存在' % dirpath] elif not os.path.isdir(dirpath): print('要删除的目标路径:%s 不为目录' % dirpath) return [False, '要删除的目标路径:%s 不为目录' % dirpath] # 注意:同xcopy命令,del也不支持 d:/xxxx,Linux/Unix路径的写法,只支持d:\xxx windows路径的写法 args = 'del /F/S/Q ' + os.path.normpath(dirpath) # /F 强制删除只读文件。 /S 删除所有子目录中的指定的文件。 /Q 安静模式。删除前,不要求确认 try: with subprocess.Popen(args, shell=True, universal_newlines = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as proc:
日常的开发中公司一般都常用SVN,对于GIT用的还是相对较少的,在公司自己买的主机上安装linux并装上SVN还是相对较安全的,接下来废话不多说,搭建SVN吧!
作为良好的习惯,建议为第三方库建立专门的目录,目录取名为thirdparty。然后,再在thirdparty下建立名叫src_package,用来存放第三方库的源码包,如没有特别说明,第三方库默认均为automake编译和安装方式。并且,一般建议将第三方库安装在thirdparty目录下,而不是系统的/usr/local目录下,目的是尽量减少对系统目录的污染,保持系统目录的整洁。 【automake编译和安装方式说明】 通常Linux系统自带automake编译工具,C/C++开源库一般都采用automake编译。 假设源代码库文件名为protobuf-2.4.1.tar.gz,则编译和安装操作步骤如下: 1) 将源代码包文件protobuf-2.4.1.tar.gz上传到Linux机上,这里假设上传到Linux机的/tmp目录 2) 进入/tmp目录 3) 解压源代码包文件:tar xzf protobuf-2.4.1.tar.gz,完成后会在/tmp目录下会出现一个子目录protobuf-2.4.1 4) 进入/tmp的子目录子目录protobuf-2.4.1 5) 执行configure命令,以生成Makefile文件:./configure --prefix=/usr/local/protobuf-2.4.1,这里假设将Protocol Buffers安装到/usr/local/protobuf-2.4.1 6) 上一步会生成编译用的Makefile文件,接下来执行make编译:make 7) make成功后,再执行make install安装 8) 成功后,就可以ls /usr/local/protobuf-2.4.1查看安装结果了; 9) 建立不带版本号的软链接:ln -s /usr/local/protobuf-2.4.1 /usr/local/protobuf 【automake编译和安装方式补充说明】 a) 源代码包如果是protobuf-2.4.1.tar.bz2形式,则表示是bzip2压缩包,而protobuf-2.4.1.tar.gz是gzip压缩包,对于bzip2压缩包,tar解压参数请由xzf改成xjf b) 上述第9步不是必须的,但会是一个良好的Linux风俗,建议保持 c) 注意第5步,如果生成的静态库会被其它共享库使用,则可能需要为configure增加参数,否则在链接生成共享库时,可能会报被链接的静态库需要带-fPIC参数重新编译,这个问题不难解决,如下变通一下即可: ./configure --prefix=/usr/local/protobuf-2.4.1 CXXFLAGS=-fPIC LDFLAGS=-fPIC d) 开源的C/C++库源代码包文件一般都采用类似于protobuf-2.4.1.tar.gz的命名方式 【推荐的编译环境目录结构】 假设有一项目mooon,它的目录结构如下,和SVN目录结构保持一致,但SVN上不存放中间目录和文件,mooon本身可以基于用户主目录,或者其它合适的目录,如/data目录下: mooon |-- doc |-- src `-- thirdparty |-- apr-util |-- boost |-- gflags |-- protobuf |-- sqlite |-- src_package | |-- apr-util-1.5.1.tar.gz | |-- boost_1_53_0.tar.gz | |-- cgicc-3.2.10.tar.gz | |-- gflags-2.0.tar.gz | |-- protobuf-2.4.1.tar.gz | |-- sqlite-autoconf-3071401.tar.gz | `-- thrift-0.9.0.tar.gz `-- thrift 安装openssl: # ./config --prefix=/usr/local/thirdparty/openssl-1.0.2a shared threads 安装httpd(apache),支持https: # ./configure --with-apr=/usr/local/thirdparty/apr-1.4.6 --with-apr-util=/usr/local/thirdparty/apr-util-1.5.1 --with-ssl=/usr/local/thirdparty/openssl-1.0.2a --with-pcre=/usr/local/thirdpar
Subversion1.7或者更旧版本,主要使用一个磁盘缓存解决方案用来缓存认证凭证。
SVN(Subversion)是一个自由、开源的项目源代码版本控制工具。目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件。
建立版本库(也可以理解为是一个项目,这个目录不能用mkdir来创建,因为svn有自己运行方式,会创立属于svn自己很多的文件)
1 安装及下载client 端 2 什么是SVN(Subversion)? 3 为甚么要用SVN? 4 怎么样在Windows下面建立SVN Repos
开发环境是Linux,协同开发下,每次测试文件都要传服务器,然后测试的时候需要调试,所以用到了SVN环境,部署之后方便很多,这里记下笔记。
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。
官网下载:http://subversion.apache.org/packages.html
Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统。相较于 git ,svn 是集中式版本控制系统。
在前面的描述中,我们都采用 [repos:/some/dir] 这样的格式来表示项目的某个目录,比如上一小节中的 [SVN:/diary/headquarters] 。而实际上,Subversion允许你采用 [/some/dir]这样的格式,即不指定代码库的方式来表示目录,此时的目录就匹配所有项目。
de >svn checkout path(path是服务器 上的目录)例如:svn checkout svn://192.168.1.1/pro/domain
后面的步骤中对git版本有一定要求,通过yum安装的git版本较低,这里进行编译安装
http://www.kernel.org/pub/software/scm/git/docs/
**版本控制(Revision control)**是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
2、 客户端安装包:TortoiseSVN-1.6.2.16344-win32-svn-1.6.2.msi
简介 是什么 SVN是代码版本管理工具 他能记住你每次的修改 查看所有的修改记录 恢复到任何历史版本 恢复已经删除的文件 优势 目录权限控制 子目录Checkout,减少不必要的文件检出 主要应用 代码的版本管理 存储重要的文件 内部文件共享,并能按目录划分权限 基本操作 创建项目 可不用勾选自动创建 复制项目地址 新建工作文件夹,右键SVN Checkout 输入账号密码即可 放入一些文件,右键SVN Commit 测试修改提交 撤销和恢复 撤销本地修改 撤销已提
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
前提是已经搭建好svn服务器并且可以通过svn://ip/proname进行访问。
命令用途 du(disk usage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作目录所占总快数。 命令格式 du [OPTION]… [FILE]… -a, –all 包括了所有的文件,而不只是目录 –apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in (’sparse’) files, internal fragmentation, indirect blocks, and the like -B, –block-size=SIZE use SIZE-byte blocks -b, –bytes 以字节为计算单位 -k 以千字节(KB)为计算单位 -m 以兆字节(M)为计算单位 -c, –total 最后加上一个总计(系统缺省) -D, –dereference-args dereference FILEs that are symbolic links -H 跟 - -si效果一样。 -h, –human-readable 以比较阅读的方式输出文件大小信息 (例如,1K 234M 2G)。注:该选项在很多其他命令(df, ls)中也有效。 –si 跟-h 效果一样,只是以1000为换算单位 -l, –count-links 计算所有的文件大小,对硬链接文件,则计算多次。 -L, –dereference 显示选项中所指定符号连接的源文件大小。 -P, –no-dereference 不跟随任何的符号连接(缺省) -S, –separate-dirs 计算目录所占空间时不包括子目录的大小。 -s, –summarize 只显示工作目录所占总空间 -x, –one-file-system 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X FILE, –exclude-from=FILE 排除掉指定的FILE –exclude=PATTERN 排除掉符合样式的文件,Pattern就是普通的Shell样式,?表示任何一个字符,*表示任意多个字符。 –max-depth=N 只列出深度小于max-depth的目录和文件的信息 –max-depth=0 的时候效果跟–s是 一样
使用svnadmin create 创建一个版本库: svnadmin create cqzn_server 每个版本库的目录下有一个hooks目录: # ls /home/svn/cqzn_server/ conf dav db format hooks locks README.txt 在每个版本库下有hooks文件夹,里面有很多钩子程序: # ls -l hooks/ total 40 -rwxr-xr-x 1 www-data www-data 332 2010-05-30 16:47 post-commit -rw-r–r– 1 www-data www-data 2000 2010-05-30 15:22 post-commit.tmpl -rw-r–r– 1 www-data www-data 1663 2010-05-29 23:28 post-lock.tmpl -rw-r–r– 1 www-data www-data 2322 2010-05-29 23:28 post-revprop-change.tmpl -rw-r–r– 1 www-data www-data 1592 2010-05-29 23:28 post-unlock.tmpl -rw-r–r– 1 www-data www-data 3488 2010-05-29 23:28 pre-commit.tmpl -rw-r–r– 1 www-data www-data 2410 2010-05-29 23:28 pre-lock.tmpl -rw-r–r– 1 www-data www-data 2796 2010-05-29 23:28 pre-revprop-change.tmpl -rw-r–r– 1 www-data www-data 2100 2010-05-29 23:28 pre-unlock.tmpl -rw-r–r– 1 www-data www-data 2830 2010-05-29 23:28 start-commit.tmpl
Git 版本控制系统的设计思想是"去中心化"。传统的 CVS 、SVN 等工具采用的是 C/S 架构,只有一个中心代码仓库,位于服务器端。而一旦由于服务器系统宕机、网络不通等各种原因造成中心仓库不可用,整个 CVS 、SVN 系统的代码检入与检出就瘫痪了。
只是说一下,svn平时工作时常用的命令 1、svn delete 目录 删除svn版本里的相关目录 2、svn add 目录 将本地的目录添加到svn版本信息里 3、svn commit 目录 提交svn版本信息里变化的目录 4、svn revert 文件 svn将本地文件恢复到版本控制的某一个版本号下的代码,默认是最新的 5、svn revert --depth=infinity 目录 将本地的这个目录下的所有文件全部恢复到最新的版本,深度恢复,会遍历子目录
可以看到,没有telnet服务和3690端口。增加telnet服务器和3690端口:
同步美术、策划资源是日常开发中极为频繁的事情,shawn借用Web前端的一些思想和工具,将Grunt自动化框架引入Cocos Creator项目,可以实现相对高效地将图片、动画、配置、音效等游戏资源导入到客户端工程中。
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro)
代码如下,复制代码为txt文件,更改后缀为“.bat”,把文件放到,需要删除的文件的顶端文件夹内,点击执行。 @echo on color 2f mode con: cols=80 lines=25 @REM @echo 正在清理SVN文件,请稍候...... @rem 循环删除当前目录及子目录下所有的SVN文件 @rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn" @for /r . %%a in (.) do @
(1)Git是一个开源(Linus Torvalds 为了帮助管理 Linux 内核开发而开发)的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,与常用的版本控制工具 CVS, SVN等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
用xshell登陆服务器,cd切换到服务器中svn的项目仓库目录中,然后切换到conf文件中,会看到3个文件,分别是
版本控制(Revision control)是一种在开发过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
领取专属 10元无门槛券
手把手带您无忧上云