Web基础配置篇(七): Svn与Git的基本使用

Web基础配置篇(七): Svn与Git的基本使用

一、概述

svn和git分别是目前使用最广泛的两种版本控制器。

SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版本控制器;这是两者之间最核心的区别。

这只是概念,我是百度的,看的我自己都眼晕。

说到区别,我自己的理解是:

  • svn比较老,git比较新,svn一般在国企会用的多,互联网估计都是git了。

  • git在本地有个仓库,svn在本地只是文件的备份。

  • svn的大多数操作要和中央仓库同步,比如看历史,断网下根本看不了,git还是可以看到,因为它也是个仓库;

  • svn提交必须和中央仓库同步提交,git可以先提交到本地仓库,需要提交到远程仓库的时候再push。虽然git提交也是在本地,但是它提交了,已经产生了提交信息,本地的改动就会记录下来。

首发地址:
品茗IT-同步发布

品茗IT 提供在线支持:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

二、Svn

svn一般不会让你本机安装的,除了运维,需要在服务器上安装,我以前安装过,做了点记录,这里拿出来说下。

2.1 安装使用

这里只说yum安装。

(1)新建svn 目录

mkdir svn

(2)下载安装svn

yum -y install subversion

(3)创建目录生成配置文件

svnadmin create /svn/data

(4)修改配置文件

vi svnserve.conf:

anon-access = none  使非授权用户无法访问
auth-access = write  使授权用户有写权限
password-db = passwd .conf  指明密码文件路径
authz-db = authz.conf  访问控制文件
(5)修改密码文件,配置用户

vi passwd:

username1 = password1
username2 = password2
(6)配置权限

vi authz.conf:

[/svndata/repos] 中括号里指定路径
user1 = rw 读写
user2 = r  读
(7)启动svn服务器

svnserve -d -r /svn/data:

(8)结束svn进程

kill svnserver:

2.2 配置http访问

1.安装软件

apache服务器,让我们的svn 服务器支持http协议访问,而不仅是svn://协议:

yum install httpd

apache操作svn模块:

yum install mod_dav_svn

2.备份httpd.conf

cp httpd.conf httpd.conf.bak

3.修改httpd.conf
  • (1)增加svn模块
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
  • (2)修改监听端口,避免占用80端口
Listen 6060
  • (3)增加配置
<Location /svn>
DAV svn
SVNParentPath  /svn
# Authentication: Basic
AuthName "Subversion repository"
AuthType Basic
AuthUserFile /svn/data/conf/passwd
#AuthzSVNAccessFile /svn/data/conf/authz
# Authorization: Authenticated users only
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>
4.让apache用户对”/svn/data″目录拥有写权限

将用户apache加入root组

usermod -a -G root apache

让group对/var/svn/repo1目录也有写权限

chmod -R g+w /var/svn/repo1

查看apache用户属于的组

groups apache

5. 配置用户访问权限

htpasswd -c /svn/data/conf/passwd admin
两次输入密码123456

6. 启动httpd服务

service httpd restart

2.3 配置SVN管理工具svnadmin

本来想写下,感觉用的人真的不多,懒得写了,我只说下地址:

当时的下载地址只有https://code.google.com/archive/p/jsvnadmin/
需要翻墙下载。

配置好麻烦,还要配置数据库、httpd之类的。

2.4 SVN的使用

2.4.1 乌龟svn的使用

如果只是对文件做同步,可以下载小乌龟对svn进行操作。

乌龟svn地址:https://tortoisesvn.net/

安装完成后,在文件夹/文件上右键就会出现乌龟svn的选项:

在这里插入图片描述

SVN checkout:检出仓库最新数据

Repo-browser:浏览远程仓库

Create Repository here: 本地建立仓库

import:添加文件到仓库中。

Export:导出文件到本地。

2.4.2 Svn在Eclipse的使用

与远程仓库连接:

在这里插入图片描述

操作选项:

在这里插入图片描述

三、Git

如果是自己用,真的建开放的git仓库,你安装了git,你本地就是个仓库,而远程的仓库,则有:

全球最大的同性交友平台:github就是一个开放的git仓库。

gitee是国内的一个git仓库,相比github,是真的不行。但是网速好啊。

Github地址:https://github.com

Github地址:https://gitee.com

所以,除了上面的,我们还是要说下怎么建了一个开放的git仓库:gitlab。大概绝大多数公司都在用它了。

3.1 Git的安装

官网地址:https://git-scm.com/download/win

下载git,按照提示一路走下去就完事儿了。

安装完成后,鼠标右键后会出现:

在这里插入图片描述

我们本机装git,一般都是用来连接远程的,当然也可以在本地建一个新仓库,但要想给别人用,还是要将本地仓库同步到远程公共仓库,或者自建gitlab。

3.2 Gitlab的安装

至于gitlab安装方法,我当一次大自然的搬运工:原文

大致流程:

(1)地址
(2)安装依赖
sudo yum install curl policycoreutils openssh-server openssh-clients policycoreutils-python

sudo systemctl enable sshd

sudo systemctl start sshd

sudo yum install postfix

sudo systemctl enable postfix

sudo systemctl start postfix
(3)安装
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.2.3-ce.0.el7.x86_64.rpm

rpm -ivh gitlab-ce-11.2.3-ce.0.el7.x86_64.rpm 
(4)配置

修改配置文件:/etc/gitlab/gitlab.rb

修改external_url 的地址为:http://192.168.56.12

修改完主配置文件后,使用gitlab-ctl reconfigure重新配置gitlab

(5)启动

重新配置gitlba后,在浏览地址栏中输入http://192.168.56.12

3.3 Git的使用

3.3.1 Git命令的使用

克隆远程仓库(下载到本地):git clone https://gitee.com/ffch/JpaMapper.git

创建本地仓库(在要创建项目下执行):git init

检查当前文件状态:git status

检查当前文件状态:git status

跟踪新文件(新建的文件一定要用git add):git add 文件名/通配符

查看差异:git diff

提交差异:git commit -m "test"

查看提交记录:git log

从远程仓库中抓取与拉取:git fetch

从远程仓库中抓取与拉取并合并:git pull

推送到远程仓库:git push

提交回退:git reset,注意参数--soft 和 --hard 的区别,--hard会擦除本地改动。

推送到远程仓库:git push

打标签:git tag v1.0

列出标签:git tag

3.3.2 Git在Eclipse的使用

有改动是这样的,会有个> 号:

在这里插入图片描述

在team中找到commit:

在这里插入图片描述

提交:

在这里插入图片描述

同步到远程:

在这里插入图片描述

这里就说这几个简单的操作了,其他的稍微摸索下就会了。

快速构建项目

Spring组件化构建

SpringBoot组件化构建

SpringCloud服务化构建

喜欢这篇文章么,喜欢就加入我们一起讨论Java Web吧!


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

推荐阅读更多精彩内容

  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,950评论 3 27
  • 第一部分:Git的基本操作 初始化操作 $ git config -global user.name #设置提交...
    庄欲以莘阅读 1,896评论 0 4
  • &开发过程中离不开源代码的管理, 目地:为了解决在软件开发过程中,由源代码引发的各种蛋疼、繁琐的问题。 目前开发使...
    早起的虫儿子被鸟吃阅读 2,423评论 0 16
  • 源代码管理工具的起源 为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼繁琐问题 源代...
    小白文_Vincent阅读 3,163评论 2 8
  • 这篇博文是自己在学习git过程中的思考总结。本文仅仅代表个人的看法,如有不妥地方还请本文文末留言。 😊 原文链接g...
    Ming_Hu阅读 1,065评论 4 18