svn和git的安装使用

1.1subversion安装
yum install -y subversion httpd

1.1.1服务的准备
使用cat /etc/service |grep svn 可以看到服务的默认端口3690

[root@master01 ~]# cat /etc/services |grep svn
svn             3690/tcp                        # Subversion
svn             3690/udp                        # Subversion
svnetworks      2973/tcp                # SV Networks
svnetworks      2973/udp                # SV Networks
svnet           3413/tcp                # SpecView Networking
svnet           3413/udp                # SpecView Networking
ml-svnet        4171/tcp                # Maxlogic Supervisor Communication

mkdir /webdept 创建svn的主目录

1.1.2 创建版本库(项目分支)

svnadmin create /webdept/www.zhuifeng.cn
svnadmin create /webdept/www.ilinux.io
[root@master01 ~]# ll /webdept/www.zhuifeng.cn/
总用量 8
drwxr-xr-x. 2 root root  54 8月  22 19:21 conf
drwxr-sr-x. 6 root root 233 8月  22 19:21 db
-r--r--r--. 1 root root   2 8月  22 19:21 format
drwxr-xr-x. 2 root root 231 8月  22 19:21 hooks
drwxr-xr-x. 2 root root  41 8月  22 19:21 locks
-rw-r--r--. 1 root root 229 8月  22 19:21 README.txt
[root@master01 conf]# ls 
authz  passwd  svnserve.conf

svnadmin create命令创建了分支的架构
conf下存放用户的账号密码权限等配置文件

2.1.1svn运行方式之独立运行模式
启用svnserver.conf如下几行

[root@master01 conf]# grep ^[a-z] svnserve.conf 
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository #登录提示语

在passwd里添加用户和密码

[root@master01 conf]# grep ^[^#] passwd 
[users]
Make = 123456
MAN = 123456
top = 123456

在authz里定义用户和用户组权限

[root@master01 conf]# grep ^[^#] authz 
[groups]
check = Make,MAN #定义check组
[/]                             #定义当前版本库根目录及www.zhuifeng.cn
top = rw
@check = r              #定义check组权限
* =                            #定义其他人的权限,为空则没有任何权限

2.1.2 运行svn

svnserve -d -r /webdept/ #会运行svn下所有分支,在目录后指向某个分支可单独运行那个分支
[root@master01 conf]# netstat -tunlp|grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      70390/svnserve

-d 以守护进程运行
-r 以root用户运行
服务已启动

2.1.3 建立测试页面来提交代码
mkdir /localsvn
cd /localsvn && touch 1.html 2.jsp 3.php
提交这三个页面
svn import /root/localsvn/ file:///webdept/www.zhuifeng.cn/ -m "first edit"
-m 版本信息

2.1.4下载代码

[root@master01 ~]# svn checkout svn://10.10.10.27/www.zhuifeng.cn/ downsource #downsource会在当前目录下自动建立并将代码down到此处
认证领域: <svn://10.10.10.27:3690> My First Repository
“root”的密码: 
认证领域: <svn://10.10.10.27:3690> My First Repository
用户名: Make
“Make”的密码: 

-----------------------------------------------------------------------
注意!  你的密码,对于认证域:

   <svn://10.10.10.27:3690> My First Repository

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?no
A    downsource/3.php
A    downsource/2.jsp
A    downsource/1.html
取出版本 1。

2.1.5写数据并提交
echo "<h1>svn</h1>" > downsource/1.html
svn commit -m "second edit"
Make用户没有写权限
按空格跳过切换top用户提交

2.2svn的httpd运行
svn的web运行方式和独立运行方式是不相关的
svn的httpd运行依赖httpd的mod_dav_svn.so模块和mod_authz_svn.so模块
yum install mod_dav_svn -y
ls -l /etc/httpd/modules/mod_dav_svn.so
ls -l /etc/httpd/modules/mod_authz_svn.so

vim /etc/httpd/conf.d/subversion.conf
<Location /webdept>
   DAV svn                     
   SVNParentPath /webdept                         #svn根目录              
      AuthType Basic                              #Basic认证方式                          
      AuthName "www.zhuifeng.cn website Dept"       #认证显示信息,提示信息       
      AuthUserFile /webdept/svn/passwd            #用户密码文件          
      AuthzSVNAccessFile  /webdept/svn/authz      #访问控制权限文件      
      Require valid-user                          #要求正式用户,不能匿名                          
</Location>
复制粘贴请使用这个:
<Location /webdept>
   DAV svn
   SVNParentPath /webdept
      AuthType Basic
      AuthName "www.zhuifeng.cn website Dept"
      AuthUserFile /webdept/svn/passwd
      AuthzSVNAccessFile  /webdept/svn/authz
      Require valid-user
</Location>

mkdir /webdept/svn
htpasswd -c /webdept/svn/passwd user1 #apache创建认证用户 ,第一次创建要加-c,第二次以后不需要
htpasswd /webdept/svn/passwd user2
htpasswd /webdept/svn/passwd user3

[root@master01 downsource]# cat /webdept/svn/passwd 
user1:$apr1$zgqCz0ZE$kjkdFtzJEmGcjQC4rHZ2X.
user2:$apr1$g9SLwEkN$fpymAz51r6mUnLsXEqQEb1
user3:$apr1$6Cs9TpLO$asS/h2KMtnN.9MHs1nvNT0

[root@master01 downsource]# cat /webdept/svn/authz 
[groups]
all = user1,user2
[/]
#user1 = rw
[www.zhuifeng.cn:/]
@all = rw
[www.ilinux.io:/]
user2 = rw
user3 = rw 

启动httpd
访问http://10.10.10.27/webdept/www.zhuifeng.com

3.1svn正式使用方式TortoiseSVN,windows平台的
安装之后写入http://10.10.10.27/webdept/www.zhuifeng.com
把 /webdept/www.zhuifeng.com的属主组改apache
即可
4.1git
对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中

基本的 Git 工作流程如下:
1.在工作目录中修改某些文件。
2.对修改后的文件进行快照,然后保存到暂存区域。
3.提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。

4.1.1安装git的server
yum install git -y
useradd -m git 创建git用户
echo git:123456|chpasswd
su git 切换至git
cd 切换至家目录
mkdir project.git 建立仓库

[git@master01 project.git]$ git init --bare
初始化空的 Git 版本库于 /home/git/project.git/

4.1.12 git的常用命令
git config --global user.name “name“ #设置全局用户名
git config --global user.email mail #设置全局邮箱
git config --global --list #列出用户全局设置
git add index.html #添加文件到暂存区
git commit -m “描述内容“ #提交文件到工作区
git status #查看工作区的状态
git push #提交代码到 git 服务器上
git pull #获取代码到本地
git log #查看操作日志
vim .gitignore #定义忽略文件
git reset --hard HEAD^ #git 版本回滚, HEAD 为当前版本,加一个为上一个,^为上上一个版本
git reflog # #获取每次提交的 ID,可以使用--hard 根据提交的 ID 迚行版本回退
git reset --hard 5ae4b06 #回退到指定 id 的版本

git branch #查看当前所处的分支

git checkout -- file #从服务器更新某个那文件覆盖本地的文件

4.1.2方法1
在客户机上同样安装git,mkdir git
第一次使用时要配置git工作环境,要配置个人的用户名称和电子邮件地址
git config --global user.name "XXXX"
git config --global user.name "XXXX@admin.com"
vim /root/.gitconfig
此为全局配置,如果要只针对某个新项目可以这样做
git clone http://10.10.10.27/xuegod/xuegod-web1.git
cd xuegod-web1
git config user.name "XXXX"
git config user.name "XXXX@admin.com"
或 vim .git/config

cd git
git clone git@10.10.10.27:/home/git/project.git/
echo "No.1" > 1.html
git add .
git commit -m "NO.1"
git remote add orgin git@10.10.10.27:/home/git/project.git/
git push origin master

回滚操作
删除index.html
使用git reset --hard HEAD回滚到最新版
查看每次提交的id
[root@master01 xuegod-web1]# git reflog
a7ea0fd HEAD@{0}: commit (initial): add bbs

在服务器创建分支
[root@xuegod63 xuegod-web]# git branch bbs #创建一个分支
[root@xuegod63 xuegod-web]# git checkout bbs #切换到分支 bbs
[root@xuegod63 xuegod-web]# git branch #查看当前所处的分支
[root@xuegod63 xuegod-web]# vim a.txt #随意在里面写一些内容
[root@xuegod63 xuegod-web]# git add a.txt
[root@xuegod63 xuegod-web]# git commit -m "add a.txt“ #提交到暂存区中
[root@xuegod63 xuegod-web]# git push -u origin bbs #上传到分支 bbs 分支上

方法2:windows的git工具

Git 中 pull 和 clone 的区别

clone 是本地没有 repository 时,将远程 repository 整个下载过来。

pull 是本地有 repository 时,将远程 repository 里新的 commit 数据(如有的话)下载过来,并且与本地代码merge。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358

推荐阅读更多精彩内容