专栏首页品茗ITWeb基础配置篇(七): Svn与Git的安装及基本使用

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

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

一、概述

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

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

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

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

  • svn比较老,git比较新,svn一般在国企会用的多,互联网估计都是git了。
  • git在本地有个仓库,svn在本地只是文件的备份。
  • svn的大多数操作要和中央仓库同步,比如看历史,断网下根本看不了,git还是可以看到,因为它也是个仓库;
  • svn提交必须和中央仓库同步提交,git可以先提交到本地仓库,需要提交到远程仓库的时候再push。虽然git提交也是在本地,但是它提交了,已经产生了提交信息,本地的改动就会记录下来。

**如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以<a

href="https://jq.qq.com/?_wv=1027&k=52sgH1J"

target="_blank">

加入我们的java学习圈,点击即可加入

</a>

,共同学习,节约学习时间,减少很多在学习中遇到的难题。**

二、Svn

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

2.1 安装使用

这里只说yum安装。

(1)新建svn 目录

mkdir svn(2)下载安装svnyum -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 httpdapache操作svn模块:yum install mod_dav_svn

2.备份httpd.conf

cp httpd.conf httpd.conf.bak3.修改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 两次输入密码1234566. 启动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:

在这里插入图片描述

提交:

在这里插入图片描述

同步到远程:

在这里插入图片描述

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Web基础配置篇(四): Mysql的配置及使用

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management...

    品茗IT
  • Web基础配置篇(十一): Zookeeper的安装配置及使用

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为...

    品茗IT
  • Web基础配置篇(四): Mysql的配置及使用

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management...

    品茗IT
  • 【收藏】2万字超长干货,如何做研究?

    https://dspace.mit.edu/bitstream/handle/1721.1/41487/AI_WP_316.pdf

    yuquanle
  • 【经典】MIT人工智能实验室: 如何做研究?

    【导读】本文来自于MIT的人工智能实验室,创作于1988,虽然有30多年,但作为新进硕士博士研究生的参考,写的绝对精辟,奉为经典。中文译本由北京师范大学信息学院...

    zenRRan
  • 学界丨这届机器学习论文评比,搞怪无厘头我只服 Reddit

    你知道吗?Reddit 上的 Machine Learning 小组上目前已经聚集了 85,613 位关注者了,而在 2016 年底的时候,@Mandratha...

    AI科技评论
  • Quora:暮光之城女主角文章毫无价值,算不上人工智能论文

    【新智元导读】1月20日,国外多家媒体报道,暮光之城女主角 Kristen Stewart 发表了一篇关于图像风格迁移的人工智能论文,引起业内广泛讨论。不少人感...

    新智元
  • 【重温经典】MIT人工智能实验室: 如何做研究?丨附下载

    并没有什么神丹妙药可以保证在研究中取得成功,本文只是列举了一些可能会有所帮助的非正式意见。

    数据猿
  • 经典收藏!MIT人工智能实验室:如何做研究?

    导读:本文来自于MIT的人工智能实验室,创作于1988。虽然已有30多年,但本文作为新进硕士博士研究生的参考,绝对精辟,奉为经典。尤其当下做AI更需要重温。中文...

    华章科技
  • 今日 Paper | TRANSFORMER结构;图像到图像翻译;缺失标注目标检测解决;GAN水下图像颜色校正等

    作者:Nikita Kitaev / Lukasz Kaiser / Anselm Levskaya

    AI科技评论

扫码关注云+社区

领取腾讯云代金券