linux svn中怎么看到svn 项目受源代码管理

svn,linux命令,如何列出所有的差异?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
svn,linux命令,如何列出所有的差异?
在用svn的linux命令时,
如果每天上班的第一件事,是检查版本库中最新的版本和本地的工作文件之间的区别。
1,有的是,本地没有修改的,但是版本库有更新,所以产生差异。
2,有的是,本地有修改的,版本库没有更新,所以版本库有差异的。
3,有的是,本地...
用 svn status 就可以了。
我有更好的答案
svn st -q文件名前面的大写 M 表示本地代码有改动,如果是 ! 号,则表示丢失的, 大写D表示使用了svn del命令想要从代码仓库中删除的本地文件,大写A表示使用了 svn add命令想要添加到代码库中的文件
可以编写一个shell脚本,用于检查记录svn的情况如果楼主搞不定, wo可以帮忙
这倒是不需要,就是eclipse工具,已经有这样的功能了。选中所有的文件,然后点检查,就会列出所有的差异文件。但是svn的linux命令里面不知道有没有直接这样的功能。********************************************************用 svn status 就可以了。不用写脚本。
用 svn status 就可以了。
为您推荐:
其他类似问题
您可能关注的内容
linux命令的相关知识
等待您来回答需求:我们替换http请求为https协议,要查看全不全,得到源码中去检查,所以自动化扫源码查询。但是得先有源码包啊。源码包直接从SVN上checkout
[root@v50 0.02 src ]#wget&
[root@v50 0.02 src ]#tar jxvf subversion-1.6.12.tar.bz2
3、准备安装
[root@v50 0.02 src ]#mkdir /usr/local/subversion
[root@v50 0.02 src ]#cd subversion-1.6.12
[root@v50 0.02 src ]#./configure&--prefix=/usr/local/subversion
[root@v50 0.02 src ]#make &&make install
5、检查安装
[root@v50 0.07 subversion ]#ll总用量 20drwxr-xr-x 2 root root 4096 12月& 1 15:27 bindrwxr-xr-x 2 root root 4096 12月& 1 15:26 build-1drwxr-xr-x 6 root root 4096 12月& 1 15:27 includedrwxr-xr-x 4 root root 4096 12月& 1 15:27 libdrwxr-xr-x 5 root root 4096 12月& 1 15:26 share
6、建立软链接
[root@v50 0.07 subversion ]#ln /usr/local/subversion/bin/svn /sbin/svn
7、检出源码
[root@v50 0.22 source ]#svn checkout http://svn..cn/svn/pc_wiki/trunk
8、会提示输入用户名和密码,但是输入一次下次会记住。
阅读(...) 评论()(天然呆VS平地摔)
(性感雯雯)
(被作家杯伤害怨)
第三方登录:linux下svn的常用代码 - 笑笑小白 - 博客园
归类自己需要的资料,慢慢爬行
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)&& 例如:svn checkout svn://192.168.1.1/pro/domain&&& 简写:svn co2、往版本库中添加新的文件& svn add file&& 例如:svn add test.php(添加test.php)&& svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库& svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用&no-unlock开关)&& 例如:svn commit -m "add test file for my test" test.php&&& 简写:svn ci4、加锁/解锁& svn lock -m "LockMessage" [--force] PATH&& 例如:svn lock -m "lock test file" test.phpsvn unlock PATH5、更新到某个版本& svn update -r m path&& 例如:&&&&& svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。&&&& svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)&&&& svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)&& 简写:svn up6、查看文件或者目录状态& 1)svn status path(目录下的文件和子目录的状态,正常状态不显示)&& 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】& 2)svn status -v path(显示文件和子目录状态)&& 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。&& 注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。简写:svn st7、删除文件& svn delete path -m "delete test fle"&& 例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"&&& 或者直接svn delete test.php 然后再svn ci -m &delete test file&,推荐使用这种简写:svn (del, remove, rm)8、查看日志& svn log path&& 例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化9、查看文件详细信息& svn info path&& 例如:svn info test.php10、比较差异& svn diff path(将修改的文件与基础版本比较)&& 例如:svn diff test.phpsvn diff -r m:n path(对版本m和版本n比较差异)&& 例如:svn diff -r 200:201 test.php&& 简写:svn di11、将两个版本之间的差异合并到当前文件& svn merge -r m:n path&& 例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)12、SVN 帮助& svn helpsvn help ci&&&&&&&&&&&&&&&&&&&&&&&&&&以上是常用命令,下面写几个不经常用的&&&&&&&&&&&&&&&&&&&&&&&&&&13、版本库下的文件和目录列表& svn list path&& 显示path目录下的所有属于版本库的文件和目录简写:svn ls&14、创建纳入版本控制下的新目录svn mkdir: 创建纳入版本控制下的新目录。用法: 1、mkdir PATH&&&&&&&&& 2、mkdir URL&创建版本控制的目录。1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增&&&& 调度,以待下一次的提交。2、每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在。&15、恢复本地修改svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:用法: revert PATH&注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复&&&&&&& 被删除的目录&16、代码库URL变更svn switch (sw): 更新工作副本至不同的URL。用法: 1、switch URL [PATH]&&&&&&& 2、switch &relocate FROM TO [PATH...]1、更新你的工作副本,映射到一个新的URL,其行为跟&svn update&很像,也会将&&&& 服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的&&&& 方法。2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动&&& (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用&&& 这个命令更新工作副本与仓库的对应关系。&17、解决冲突svn resolved: 移除工作副本的目录或文件的&冲突&状态。用法: resolved PATH&注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的&&&&&&& 相关文件,然后让 PATH 可以再次提交。&18、输出指定文件或URL的内容。svn cat 目标[@版本]&如果指定了版本,将从指定的版本开始查找。svn cat -r PREV filename & filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)解决冲突第一种,利用update的选项进行冲突解决,也就是说不管当前拷贝副本是否是最新版本,都使用&accept参数作为冲突处理方式& --accept ARG&&&&&&&&&&&& : specify automatic conflict resolution action&&&&&&&&&&&&&&&&&&&&&&&&&&& ('postpone', 'base', 'mine-conflict',&&&&&&&&&&&&&&&&&&&&&&&&&&&& 'theirs-conflict', 'mine-full', 'theirs-full',&&&&&&&&&&&&&&&&&&&&&&&&&&&& 'edit', 'launch')(p)& postpone&&& - mark the conflict to be resolved later //让文件在更新完成之后保持冲突状态。(df) diff-full&& - show all changes made to merged file //使用标准区别格式显示base修订版本和冲突文件本身的区别。(e)& edit&&&&&&& - change merged file in an editor //用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。(r)& resolved&&& - accept merged version of file //完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容&从本质上讲就是你已经&解决了&冲突。(mf) mine-full&& - accept my version of entire file (ignore their change//丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。(tf) theirs-full - accept their version of entire file (lose my changes)//丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。(l)& launch&&&&& - launch external tool to resolve conflict//启动一个外置程序来执行冲突解决,这需要一些预先的准备。(h)& help&&&&&&& - show this list //显示所有在冲突解决时可能使用的命令。
随笔 - 237我的版本库存放路径为: /var/svn ; 下面我们来创建一个名为 svntet 的版本库& &
注释: svnadmin create svntet &就是svn的创建版本库命令;执行之后我们会发现&/var/svn 下会出现 svntet 的文件夹
二、修改新建的版本库的配置文件
进入 /var/svn/svntet &;我们会发现有3个配置文件
我们先修改下 passwd ,添加 svntet 版本库的用户名和密码
修改 authz ,添加&&svntet 版本库的用户的权限
注释:现在给&svntet 版本库的用户名为admin的用户添加他对该版本的读写权限
修改 svnserve.conf&
三、导入代码文件到 svntet 版本库
我的代码文件存放在 /var/www/html/qinkaizhu/svntest ;&
svn代码版本库的路径 /var/svn/svntet (也就是刚刚我们创建的版本库的位置);
执行导入命令: svn import /var/www/html/qinkaizhu/svntest file:///var/svn/svntet -m &i&
四、从版本库导出代码
导出代码到当前目录下;&执行导出命令: svn checkout svn://192.168.1.5/svntet&
这时候,已经从 svntet 版本库取了最新版本的代码
五、从工作的代码拷贝提交到版本库
如何我们没有修改如何代码,那么提交是没有意义的。下面我们先来修改下1.php;
cd svntet&
保存修改后,在 svntet 目录下执行提交命令:svn commit -m &&cxcxcxc&
注释:-m “msg” &其中msg:为本次提交版本的一些描述(例如修改了什么之类的)
六、从版本库更新工作的代码拷贝
假如有n个人在进行同一项工作,大家都是公用同一版本库,那么可能你现在的版本库就不是最新的了。所以,我们需要从版本库里更新下工作的代码拷贝。
执行代码:
cd svntet&
svn update
七、在工作的代码拷贝新建文件或者文件夹,然后提交到版本库
1、先新建 3.php &4.php&
2、执行加入版本控制命令:svn add 3.php 4.php
小插曲 【start】
在这里注意了,经常我们在开发的时候,可能会加人很多的新文件,难道我们要一个一个地加吗?当然,你也可以实现的。。但是,如果我们加的文件特别多,而且目录结构也特别复杂。怎么办?
svn status — 打印工作拷贝文件和目录的状态。
我们可以借助svn status 或者 svn st快速找到新添加并没有纳入版本控制的文件。
&第一列代表状态改变的文件的状态:
'?' &&项目不在版本控制之下;
'M' &项目已经修改了;
'!' & &项目已经丢失;
'~' &&项目作为一种对象(文件、目录或链接)纳入版本控制,但是已经被另一种对象替代。
更多的状态信息,可以在这里看见:
我们利用grep筛选出不在版本控制之下的文件或者文件夹
svn st | grep ?
svn st | grep ? | awk '{print $2}'
我们可以利用awk逐一获取到他们的信息,现在我们就只需要他们的路径就好了,然后有svn将他们加入版本控制
前面是和大家一起慢慢来,顺便回顾下shell的一些命令使用。
其实就工作备份的最外层执行下面的代码就可以将没有加入版本控制的文件或者文件名加入版本控制
svn status | grep ? | awk '{print $2}' | xargs svn add
然后,下次执行提交的时候,就会将新加文件提交加入到版本库了。。。
小插曲 【end】
3、再执行提交到版本库的命令:svn commit -m &addnewfile&
注释:执行加入版本控制命令:svn add 3.php 4.php 后,版本库的并没有更新版本。直到下一次执行&commit 才会提交更新
&八、删除工作拷贝和版本库的文件
情况一:先在工作的拷贝删除,在下次执行commit命令时候,自动从版本库里删除
1、先执行删除命令:svn del 1.php 2.php
2、再执行提交命令:svn commit -m &delfile&
情况二:直接从版本库里删除,然后在工作拷贝下更新(update)
执行删除命令:svn del -m &del 4.php& file:///var/svn/svntet/4.php
以上是我经常用到的一下svn在linux的命令操作。大家在操作的时候应该注意命令操作时候所在的当前目录。
例如 svn update ;svn commite,不然会导致一些错误。
在工作拷贝中在每个目录下都会存在.svn文件;在项目完成要上线的时候,我们怎么样快速都将所有的.svn文件都删除呢。。我们可以写个shell脚本来进行删除。
find -type d -name &.svn& | xargs rm -rf
其他常用的命令:
更新到某个版本&
svn update -r m path&
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。&
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)&
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)&
简写:svn up&
加锁/解锁&
svn lock -m “LockMessage“ [--force] PATH&
例如:svn lock -m “lock test file“ test.php&
svn unlock PATH&
svn log path&
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化&
svn diff path(将修改的文件与基础版本比较)&
例如:svn diff test.php&
svn diff -r m:n path(对版本m和版本n比较差异)&
例如:svn diff -r 200:201 test.php&
简写:svn di&
将两个版本之间的差异合并到当前文件&
svn merge -r m:n path&
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)&
版本库下的文件和目录列表&
svn list path&
显示path目录下的所有属于版本库的文件和目录&
简写:svn ls&
创建纳入版本控制下的新目录&
svn mkdir: 创建纳入版本控制下的新目录。&
1、mkdir PATH…&
2、mkdir URL…&
创建版本控制的目录。&
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增&
调度,以待下一次的提交。&
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。&
在这两个情况下,所有的中间目录都必须事先存在。&
利用钩子文件触发一些命令:
例如,我们有3个工作副本。我们想实现这样的功能:两个开发者,单独有自己的工作副本和测试环境。第3个工作副本是用来观察某开发者提交后是否和另外的开发者修改的代码有冲突。简单点说就是,无论那个工作副本一提交,就是自动更新我指定的工作副本。
将hooks下的post-commit.tmpl复制一份为post-commit。在post-commit的下面加入下面的代码,具体情况,要视自己的机子的配置而变。这里是举例说明而已。
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/var/www/html/test
$SVN up $WEB --username admin --password admin --no-auth-cache
本文已收录于以下专栏:
相关文章推荐
对于开发人员来说,subversion的使用无非就是对subversion的命令行的使用,只要学会了subversion命令行,subversion就会成为我们身上的一把刀!
为了能更清晰地说明su...
在写html5网页时会遇到需要在块级元素中倾斜的字体或需要插入倾斜的图片,初学者(比如我)往往希望利用最少的代码来实现这个功能,现给大家分享一种代码拿去就可以用的简单方法。
举例代码如下:
利用canvas实现鼠标拖拽功能,当在元素上按下鼠标并移动时,元素跟着鼠标移动。
主要思路:
当鼠标按下时,利用isPointInPath判断鼠标位置是否在元素上,如果在则鼠标移动时元素...
CI服务器:192.168.4.221
root用户操作
建议安装前更新操作系统
# yum update
更新完成后重启
(1): 创建svn仓库路径
/opt/svn/project1
/data/svn/project1
注意:为了规范:一般在项目目录...
一、CentOS中安装subversion,并使用svn+ssh访问
http://blog.csdn.NET/wangjingfei/archive//5424338...
svn(subversion) 版本管理软件:(1)在工作拷贝创建一个目录:
$ svn mkdir newdir
(2)在版本库创建一个目录(立即提交,所以需要日志信息):
版本管理系统Subversion
Cvs、Svn、Git都是版本管理系统
版本库(Repository):Subersion是一种集中式的分享信息的系统,它的核心是版本库。
...
安装apache
# yum install httpd httpd-devel
# service httpd start
# chkconfig httpd on
1.需要两个文件,httpd和subversion. httpd是web服务器,用来通过web访问subversion,httpd可以在apache官方网站上下载到
2.新建一个用户:svnroo...
他的最新文章
讲师:李江龙
讲师:司徒正美
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 vs2013源代码管理svn 的文章

 

随机推荐