常用git-svn命令
sudo apt-get install git-svn
git svn clone [url]
git svn rebase
git svn log -3
常用的SVN命令
svn co -depth
svn export # 复制svn库到本地,纯数据,不带管理信息
svn import # 导入文件到新的库
svn up --set-depth
svn diff -r
svn st
svn log -l
svn add
svn del
svn move
svn ci -m "log." # 提交修改
svn revert
常用的git命令
git和svn最大的不同是本地有一个数据仓库,即svn=远程仓库+工作数据,git=远程仓库+本地仓库+工作数据
git clone是本地没有repository时,将远程repository整个复制下来。
git pull是本地有repository,将远程的repository里新的数据下载到本地仓库,并与工作数据merge。
git fetch只是将远程仓库下载到本地仓库。
git merge和git rebase用于合并分支,rebase会把本地仓库里的每个提交取消掉,并把工作数据临时 保存为补丁(放到".git/rebase"目录中),然后把工作数据更新为最新的origin"分支,最后把保存的这些补丁应用到"mywork"分支上。
git查看状态
git remote -v # 查看远程库
git status # 查看本地分支,本地orign master分支状态
git branch # 查看本地分支状态
git branch -r # 查看远程分支状态,本地分支为白色显示
git add
git add . # 将所有修改过的工作文件提交暂存区
git rm
git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象
git revert HEAD # 恢复最后一次提交的状态
git diff
git diff
git log -p
git push origin master # 将本地主分支推到远程主分支
git pull # 抓取远程仓库所有分支更新并合并到本地
git remote -v # 查看远程服务器地址和仓库名称
git remote show
git remote add
[国内]
码云(开源中国) - http://git.oschina.net/
码市 - https://coding.net/
收购了gitcafe
CSDN Code - https://code.csdn.net/
百度效率云 - http://xiaolvyun.baidu.com/
淘宝 - http://code.taobao.org/
京东 - https://code.jd.com/
[国外]
github - https://github.com/
gitlab - https://gitlab.com/
BitBucket - https://bitbucket.org/
Sourceforge - https://sourceforge.net/
Google - https://opensource.google.com/
2016年以前是https://code.google.com/
搭建SVN服务器
ubuntu-14.04 x86_64
svn-1.8.8
svn服务器默认端口号是3690。如果想在同一台PC上启动多个svn服务器,需要为每个svn服务器指定不同端口号。
svnadmin create /home/svn/doc
svnserve -d -r /home/svn/doc --listen-port 3691
svnadmin create /home/svn/server
svnserve -d -r /home/svn/server --listen-port 3692
doc/conf/svnserve.conf
--------------------
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
---------------------
doc/conf/passwd
---------------------
[users]
kkk=123456
---------------------
doc/conf/authz
---------------------
[groups]
admin=kkk
[/]
@admin=rw
---------------------
svnadmin create doc
svnserve -d -r doc --listen-port 3691
svn import -m "New import." files svn://192.168.1.1:3691
镜像
svnadmin create /home/svn/server
svnsync init file:///home//svn/server svn://192.168.1.10/server
svnsync sync file:///home/svn/server
svnserve -d -r /home/svn/server
注意需要hooks/pre-revprop-change返回0