Web基礎配置篇(七): Svn與Git的基本使用

Web基礎配置篇(七): Svn與Git的基本使用

一、概述

svn和git分別是目前使用最廣泛的兩種版本控制器。

SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版本控制器;這是兩者之間最核心的區(qū)別。

這只是概念,我是百度的,看的我自己都眼暈。

說到區(qū)別,我自己的理解是:

  • svn比較老,git比較新,svn一般在國企會用的多,互聯(lián)網(wǎng)估計都是git了。

  • git在本地有個倉庫,svn在本地只是文件的備份。

  • svn的大多數(shù)操作要和中央倉庫同步,比如看歷史,斷網(wǎng)下根本看不了,git還是可以看到,因為它也是個倉庫;

  • svn提交必須和中央倉庫同步提交,git可以先提交到本地倉庫,需要提交到遠程倉庫的時候再push。雖然git提交也是在本地,但是它提交了,已經(jīng)產(chǎn)生了提交信息,本地的改動就會記錄下來。

首發(fā)地址:
品茗IT-同步發(fā)布

品茗IT 提供在線支持:

一鍵快速構(gòu)建Spring項目工具

一鍵快速構(gòu)建SpringBoot項目工具

一鍵快速構(gòu)建SpringCloud項目工具

一站式Springboot項目生成

Mysql一鍵生成Mybatis注解Mapper

如果大家正在尋找一個java的學習環(huán)境,或者在開發(fā)中遇到困難,可以加入我們的java學習圈,點擊即可加入,共同學習,節(jié)約學習時間,減少很多在學習中遇到的難題。

二、Svn

svn一般不會讓你本機安裝的,除了運維,需要在服務器上安裝,我以前安裝過,做了點記錄,這里拿出來說下。

2.1 安裝使用

這里只說yum安裝。

(1)新建svn 目錄

mkdir svn

(2)下載安裝svn

yum -y install subversion

(3)創(chuàng)建目錄生成配置文件

svnadmin create /svn/data

(4)修改配置文件

vi svnserve.conf:

anon-access = none  使非授權(quán)用戶無法訪問
auth-access = write  使授權(quán)用戶有寫權(quán)限
password-db = passwd .conf  指明密碼文件路徑
authz-db = authz.conf  訪問控制文件
(5)修改密碼文件,配置用戶

vi passwd:

username1 = password1
username2 = password2
(6)配置權(quán)限

vi authz.conf:

[/svndata/repos] 中括號里指定路徑
user1 = rw 讀寫
user2 = r  讀
(7)啟動svn服務器

svnserve -d -r /svn/data:

(8)結(jié)束svn進程

kill svnserver:

2.2 配置http訪問

1.安裝軟件

apache服務器,讓我們的svn 服務器支持http協(xié)議訪問,而不僅是svn://協(xié)議:

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)修改監(jiān)聽端口,避免占用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″目錄擁有寫權(quán)限

將用戶apache加入root組

usermod -a -G root apache

讓group對/var/svn/repo1目錄也有寫權(quán)限

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

查看apache用戶屬于的組

groups apache

5. 配置用戶訪問權(quán)限

htpasswd -c /svn/data/conf/passwd admin
兩次輸入密碼123456

6. 啟動httpd服務

service httpd restart

2.3 配置SVN管理工具svnadmin

本來想寫下,感覺用的人真的不多,懶得寫了,我只說下地址:

當時的下載地址只有https://code.google.com/archive/p/jsvnadmin/
需要翻墻下載。

配置好麻煩,還要配置數(shù)據(jù)庫、httpd之類的。

2.4 SVN的使用

2.4.1 烏龜svn的使用

如果只是對文件做同步,可以下載小烏龜對svn進行操作。

烏龜svn地址:https://tortoisesvn.net/

安裝完成后,在文件夾/文件上右鍵就會出現(xiàn)烏龜svn的選項:

在這里插入圖片描述

SVN checkout:檢出倉庫最新數(shù)據(jù)

Repo-browser:瀏覽遠程倉庫

Create Repository here: 本地建立倉庫

import:添加文件到倉庫中。

Export:導出文件到本地。

2.4.2 Svn在Eclipse的使用

與遠程倉庫連接:

在這里插入圖片描述

操作選項:

在這里插入圖片描述

三、Git

如果是自己用,真的建開放的git倉庫,你安裝了git,你本地就是個倉庫,而遠程的倉庫,則有:

全球最大的同性交友平臺:github就是一個開放的git倉庫。

gitee是國內(nèi)的一個git倉庫,相比github,是真的不行。但是網(wǎng)速好啊。

Github地址:https://github.com

Github地址:https://gitee.com

所以,除了上面的,我們還是要說下怎么建了一個開放的git倉庫:gitlab。大概絕大多數(shù)公司都在用它了。

3.1 Git的安裝

官網(wǎng)地址:https://git-scm.com/download/win

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

安裝完成后,鼠標右鍵后會出現(xiàn):

在這里插入圖片描述

我們本機裝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

創(chuàng)建本地倉庫(在要創(chuàng)建項目下執(zhí)行):git init

檢查當前文件狀態(tài):git status

檢查當前文件狀態(tài):git status

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

查看差異:git diff

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

查看提交記錄:git log

從遠程倉庫中抓取與拉?。?code>git fetch

從遠程倉庫中抓取與拉取并合并:git pull

推送到遠程倉庫:git push

提交回退:git reset,注意參數(shù)--soft 和 --hard 的區(qū)別,--hard會擦除本地改動。

推送到遠程倉庫:git push

打標簽:git tag v1.0

列出標簽:git tag

3.3.2 Git在Eclipse的使用

有改動是這樣的,會有個> 號:

在這里插入圖片描述

在team中找到commit:

在這里插入圖片描述

提交:

在這里插入圖片描述

同步到遠程:

在這里插入圖片描述

這里就說這幾個簡單的操作了,其他的稍微摸索下就會了。

快速構(gòu)建項目

Spring組件化構(gòu)建

SpringBoot組件化構(gòu)建

SpringCloud服務化構(gòu)建

喜歡這篇文章么,喜歡就加入我們一起討論Java Web吧!


品茗IT交流群
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 聲明:這篇文章來源于廖雪峰老師的官方網(wǎng)站,我僅僅是作為學習之用 Git簡介 Git是什么? Git是目前世界上最先...
    橫渡閱讀 4,108評論 3 27
  • 第一部分:Git的基本操作 初始化操作 $ git config -global user.name #設置提交...
    莊欲以莘閱讀 2,088評論 0 4
  • &開發(fā)過程中離不開源代碼的管理, 目地:為了解決在軟件開發(fā)過程中,由源代碼引發(fā)的各種蛋疼、繁瑣的問題。 目前開發(fā)使...
    早起的蟲兒子被鳥吃閱讀 2,614評論 0 16
  • 源代碼管理工具的起源 為什么會出現(xiàn)源代碼管理工具? 為了解決在軟件開發(fā)過程中,由源代碼引發(fā)的各種蛋疼繁瑣問題 源代...
    小白文_Vincent閱讀 3,542評論 2 8
  • 這篇博文是自己在學習git過程中的思考總結(jié)。本文僅僅代表個人的看法,如有不妥地方還請本文文末留言。 ?? 原文鏈接g...
    Ming_Hu閱讀 1,267評論 4 18

友情鏈接更多精彩內(nèi)容