SVN-git-github-版本控制服务器

一、 简述SVN版本控制服务
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion,也就是CVS的接班人!
CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,现在大多数软件开发公司都使用SVN替代了CVS。

官方网站:http://subversion.apache.org/
Windows客户端 TortoiseSVN:http://tortoisesvn.net/

常见的版本控制软件
CVS,逐渐被SVN取代,是CVX重写版和改写版
SVN,Subversion
Git,Git是一个开源的分布式版本控制系统,用以有效、高速的处理,管理从很小到非常大的项目版本。Git 是 Linus Torvalds (林纳斯·托瓦兹)为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

GitLab版本管理
GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

SVN存储数据的方式
BDB,Berkeley DB,一种事务安全型表类型
FSFS,“FSFS” 采用文件系统的方式, 替代原来的基于Berkeley DB的实现。
因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
SVN的运行方式及端口
独立服务器 3690端口 访问方式SVN:// C/S模式
借助apache运行 80端口 访问方式 http://

工作流程
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:
开始新一天的工作:

  1. 从服务器下载项目组最新代码。
  2. 进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码
    (很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。
    下班时间快到了:
    把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。
    这就是经典的svn工作流程.

SVN+Apache运行原理
SVN搭配Apache的时候,Apache需要使用mod_dav_svn这个模块,他的运行机制如下:
在这里插入图片描述
在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。
每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后开发人员可以在本地修改,然后用svn命令进行提交,由源代码库统一管理修改。
mod_dav_svn 可以让版本库通过http协议实现网站展现

二、 安装SVN
实验环境:
主机 IP地址 作用
xuegod110 192.168.1.110 SVN+HTTP Server
xuegod120 192.168.1.120 Client Server

1、 安装SVN,包括HTTP服务
[root@xuegod110 ~]# yum -y install subversion httpd mod_dav_svn #SVN所需模块一起安装
[root@xuegod110 ~]# cat /etc/services | grep svn #查看已经注册的svn端口号
svn 3690/tcp # Subversion
svn 3690/udp # Subversion

2、 创建版本库的主目录
[root@xuegod110 ~]# mkdir /webdept

3、 创建两个版本库
[root@xuegod110 ~]# svnadmin create /webdept/www.xuegod.cn
[root@xuegod110 ~]# svnadmin create /webdept/www.godxue.cn
[root@xuegod110 ~]# ll /webdept/www.xuegod.cn/
total 8
drwxr-xr-x. 2 root root 54 Jul 6 10:37 conf
drwxr-sr-x. 6 root root 233 Jul 6 10:37 db
-r–r--r–. 1 root root 2 Jul 6 10:37 format
drwxr-xr-x. 2 root root 231 Jul 6 10:37 hooks
drwxr-xr-x. 2 root root 41 Jul 6 10:37 locks
-rw-r–r--. 1 root root 229 Jul 6 10:37 README.txt
文件说明:
dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据,刚开始新建时此目录没有
db目录:就是所有版本控制的数据存放文件
hooks目录:放置hook脚本文件的目录
locks目录:用来放置subversion监控锁定数据的目录,用来追踪存取文件库的客户端
format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等),也是我们要关注的配置文件

[root@xuegod110 ~]# ll /webdept/www.xuegod.cn/conf/
total 12
-rw-r–r--. 1 root root 1080 Jul 6 10:37 authz
-rw-r–r--. 1 root root 309 Jul 6 10:37 passwd
-rw-r–r--. 1 root root 3090 Jul 6 10:37 svnserve.conf
文件说明:
authz #认证权限相关
passwd #用户名和密码
svnserve.conf #服务器配置文件

4、 针对不同的版本库,修改配置文件
1) 修改www.xuegod.cn的配置文件
[root@xuegod110 ~]# cd /webdept/www.xuegod.cn/conf/
[root@xuegod110 conf]# vim svnserve.conf
[general]
anon-access = read #原先注释掉了,匿名用户可以读,使用none的话就是匿名用户不可以访问
改:20 # auth-access = write #这几行都要取消注释,认证用户可以写,可以是read,write,none
为:20 auth-access = write
改:27 # password-db = passwd #密码库文件,默认使用的是同一目录下的passwd文件作为用户密码库
为:27 password-db = passwd
改:34 # authz-db = authz #认证权限文件
为:34 authz-db = authz
改:39 # realm = My First Repository #登陆提示信息
为:39 realm = www.xuegod.cn
注意:此配置文件的所有内容必须顶格,否则会报错

2) 修改www.xuegod.cn的用户和密码文件(passwd)
[root@xuegod110 conf]# vim passwd
Make = 123456
MAN = 123456
top = 123456

3) 修改www.xuegod.cn的认证文件(authz)
[root@xuegod110 conf]# vim authz
[groups] #此行默认存在了
Check = Make,MAN #定义组,在[groups]下面添加
#用户组格式 用户组名 = 用户1,用户2
#一个组可以包含多个用户,英文逗号间隔,用户名必须是在passwd中存在的
[/] #/表示我当前所在版本库目录,这里代表www.xuegod.cn
top = rw
@Check = r #@Check表示这个组的权限,就是上面定义的组的成员

  • = #除了上面的有赋予权限成员之外,其他的成员都没有权限

SVN目录格式:
[/目录名]
@用户组名 =权限
用户名 =权限
*=
在这里插入图片描述

4) 修改www.godxue.cn的配置文件、用户密码文件、认证文件
[root@xuegod110 conf]# cd …/…/www.godxue.cn/
[root@xuegod110 www.godxue.cn]# cd conf/
[root@xuegod110 conf]# vim svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = www.godxue.cn
[root@xuegod110 conf]# vim passwd
Make = 123456
MAN = 123456
top = 123456
[root@xuegod110 conf]# vim authz
[groups] #默认存在
Check = Make,MAN
[/]
top = rw
@Check = r

  • =

5、 启动SVN服务
[root@xuegod110 ~]# svnserve -d -r /webdept/
#启动了所有版本库, 再 –r。如果只需要某一个版本库,
后面添加/webdept/www.xuegod.cn/的版本库即可 -d=daemon -r=root of directory of save指定根目录
[root@xuegod110 ~]# netstat -antup | grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 12801/svserve

6、 测试代码
使用svn导入测试代码
导入测试代码格式: svn [选项] 源码 svn://server ip/项目名
常见的选项:
import #将未版本化的文件纳入版本控制并提交
checkout #从版本库中检出一个修订版
update #更新工作拷贝
add,delete,copy,move #增、删、复制、移动文件或目录
status #检查状态差异
diff #检查文件行级详细差异
revert #恢复
resolve #解决冲突
switch #切换工作拷贝对应的版本库分支
log #查看历史记录
list #显示文件目录
cat #查看某个文件内容
1) 代码导入到www.xuegod.cn版本库
[root@xuegod110 ~]# mkdir localsvn
[root@xuegod110 ~]# cd localsvn/;touch 1.html 2.html;cd
[root@xuegod110 ~]# svn import /root/localsvn/ file:///webdept/www.xuegod.cn/ -m “first edit”
在这里插入图片描述
#本地导入代码,使用file,仅仅能在服务器本地导入, -m=messages,类似注释,首次加入代码使用import

2) 代码取出downsource目录
当前目录不存在的话,会自动创建一个目录
[root@xuegod110 ~]# svn checkout svn://192.168.1.110/www.xuegod.cn/ downsource
在这里插入图片描述

3) 添加代码,再次上传到版本库
[root@xuegod110 ~]# cd downsource/
[root@xuegod110 downsource]# touch 3.html
[root@xuegod110 downsource]# svn add 3.html
A 3.html
[root@xuegod110 downsource]# svn commit -m “second edit”
在这里插入图片描述
这里我们切换另外一个用户,再次上传测试
[root@xuegod110 downsource]# svn commit -m “second edit”
在这里插入图片描述
拓展:commit,SVN的提交是将在工作空间做的修改进行提交,包括文件内容的修改,文件或目录的添加,删除,命名,移动等操作。开发项目时,你会在工作拷贝中修改项目的代码,你总要把修改之后做过的改动又存回到项目仓库中去。这个过程称为“提交”。提交是将你对工作拷贝所作的所有改动发送并存储到中央项目仓库中。
add 功能:向拷贝文件所在的文件夹中添加新的文件,并作标识,是新添加的,下一步提交时将一并提交到Subversion版本库中去。简单的说就是将一新文件加入svn,你添加再提交后该文件就进入subversion版本中去了。
checkout:check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作,checkout是第一次用,后面的用法就是更新。

7、 使用www.godxue.cn这个版本库,进行上传和下载测试
在这里插入图片描述
在这里插入图片描述

三、 SVN+Apache
SVN+Apache环境需要subversion的两个动态库支持,同时我们需要密码的验证支持!
查看apache对svn模块的支持
[root@xuegod110 ~]# cat /etc/httpd/conf.modules.d/10-subversion.conf
在这里插入图片描述
两个模块对应的物理路径
在这里插入图片描述

1、 配置apache支持svn
[root@xuegod110 ~]# vim /etc/httpd/conf.d/subversion.conf
<Location /webdept>
DAV svn
SVNParentPath /webdept #svn根目录
AuthType Basic #Basic认证方式
AuthName “My website Dept” #认证显示信息,提示信息
AuthUserFile /webdept/svn/passwd #用户密码文件
AuthzSVNAccessFile /webdept/svn/authz #访问控制权限文件
Require valid-user #要求正式用户,不能匿名

在这里插入图片描述

2、 创建passwd文件
[root@xuegod110 ~]# cd /webdept/
[root@xuegod110 webdept]# mkdir svn
[root@xuegod110 webdept]# cd svn/
[root@xuegod110 svn]# htpasswd -c /webdept/svn/passwd user1 #第一次创建加-c参数
New password:
Re-type new password:
Adding password for user user1
[root@xuegod110 svn]# htpasswd /webdept/svn/passwd user2 #后面创建就不用加-c
New password:
Re-type new password:
Adding password for user user2
[root@xuegod110 svn]# htpasswd /webdept/svn/passwd user3
New password:
Re-type new password:
Adding password for user user3
在这里插入图片描述

3、 创建authz文件
[root@xuegod110 svn]# vim authz
[groups]
all = user1,user2
[/] #“/”表示所有仓库的跟目录下
#user1 = rw
[www.xuegod.cn?] #第一个仓库,user1和user2可以读写
@all = rw
[www.godxue.cn?] #第二个仓库目录,user2和user3可以读写
user2 = rw
user3 = rw
在这里插入图片描述

4、 启动httpd服务测试
[root@xuegod110 svn]# systemctl start httpd
访问http://192.168.1.110/webdept/www.xuegod.cn user1和user2可以读取,user3不可以
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用user3 登录失败,因为没有权限登录
在这里插入图片描述
在这里插入图片描述
访问http://192.168.1.110/webdept/www.godxue.cn user2和user3可以读写,user1不行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用user1不能登录,因为不允许
在这里插入图片描述
在这里插入图片描述

四、 Windows客户端下使用svn
Windows下使用TortoiseSVN工具来配置,官方网站:http://tortoisesvn.net/downloads.html
选择适应版本,32位或者64位软件安装配置。
在这里插入图片描述

从官方下载,直接安装,然后建立本地的源码存储目录,自己新建,如这里我们建立localhost这个目录,然后进入这个目录,右键:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新建代码,直接使用svn工具上传到版本库
在这里插入图片描述
右键----TortoiseSVN----Add
在这里插入图片描述

然后再次右键这个文件,选择SVN Commit
在这里插入图片描述
在这里插入图片描述

看到这里报错,无法上传
在这里插入图片描述
接下来点击OK即可,有可能需要一个有写入权限的用户,还需要注意将仓库文件修改为apache权限。
[root@xuegod110 ~]# chown -R apache.apache /webdept/www.xuegod.cn/

再次上传测试
在这里插入图片描述

五、 GIT服务
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目!
Git是一个开源的分布式版本控制系统,用以有效、高速的处理,管理从很小到非常大的项目版本。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

1、 工作原理
在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用联网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。
举个例子,如果要浏览项目的历史更新摘要,Git 不用跑到外面的服务器上去取数据回来,而直接从本地数据库读取后展示给你看。所以任何时候你都可以马上翻阅,无需等待。如果想要看当前版本的文件和一个月前的版本之间有何差异,Git 会取出一个月前的快照和当前文件作一次差异运算,而不用请求远程服务器来做这件事,或是把老版本的文件拉到本地来作比较。
用 CVS 的话,没有网络或者断开 VPN 你就无法做任何事情。但用 Git 的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程仓库。同样,在回家的路上,不用连接 VPN 你也可以继续工作。换作其他版本控制系统,这么做几乎不可能,抑或非常麻烦。比如 Perforce,如果不连到服务器,几乎什么都做不了(默认无法发出命令 p4 edit file 开始编辑文件,因为 Perforce 需要联网通知系统声明该文件正在被谁修订。但实际上手工修改文件权限可以绕过这个限制,只是完成后还是无法提交更新。);如果是 Subversion 或 CVS,虽然可以编辑文件,但无法提交更新,因为数据库在网络上。看上去好像这些都不是什么大问题,但实际体验过之后,你就会惊喜地发现,这其实是会带来很大不同的。
对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。
由此我们看到 Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。

每个项目都有一个 Git 目录(如果 git clone 出来的话,就是其中 .git 的目录;如果 git clone --bare 的话,新建的目录本身就是 Git 目录。),它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里面的数据。
从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录。这些文件实际上都是从 Git 目录中的压缩对象数据库中提取出来的,接下来就可以在工作目录中对这些文件进行编辑。
所谓的暂存区域只不过是个简单的文件,一般都放在 Git 目录中。有时候人们会把这个文件叫做索引文件,不过标准说法还是叫暂存区域。
在这里插入图片描述
基本的 Git 工作流程如下:
1)在工作目录中修改某些文件;
2)对修改后的文件进行快照,然后保存到暂存区域;
3)提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。

所以,我们可以从文件所处的位置来判断状态:如果是 Git 目录中保存着的特定版本文件,就属于已提交状态;如果作了修改并已放入暂存区域,就属于已暂存状态;如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

2、 GIT优点
1)更顺畅的工作流程,开发过程中,完全可以离线操作
2)快速,Git分布式架构使得本地仓库包含所有的历史版本信息,你可以在不同的版本之间快速切换
3)弹性的本地分支,在svn下,你建一个分支需要把源代码复制到另外一个文件夹,而在Git下,创建分支的代价是非常小的,只需一条命令
4)仓库目录结构简洁,用Git复制一个项目,只会在项目根目录创建一个.git的目录,而其他目录很干净
5)内容按元数据方式存储,所有的版本信息都位于.git目录下
6)完整性好,更易于协作开发
7)用户群大,现在已经有成千上万个开源项目采用Git来做项目管理,github上更是有无数个代码仓库

3、 Git使用方法
git init here #创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息、标记等内容
git remote add origin git@github.com:winter1991/helloworld.git #把本地仓库和远程仓库关联起来。如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址
git add # 从本地仓库增删,结果将会保存到本机的缓存里面
git commit -m “注释” #提交,把本机缓存中的内容提交到本机的 HEAD 里面
git push origin master #把本地的 commit push 到远程服务器上, origin 也就是之前 git remote add origin 那个命令里面的 origin,origin 替代了服务器仓库地址:git push git@github.com:winter1991/helloworld.git master
git pull origin master #从远程服务器 pull 新的改动
git status #查看状态
git add -A #提交全部修改
git config --global user.name “xxx” #配置用户名,上传本地 repository 到服务器上的时候,在 Github 上会显示这里配置的上传者信息
git config --global user.email “xxx” #配置邮箱
git config --list #查看配置列表
git rm xxx #从本地仓库中删除指定文件
git rm -r xxx #从本地仓库中删除指定文件夹
git commit -m “注释” #把本机缓存中的内容提交到本机的 HEAD 里面
git push origin master #把本地的 commit push 到远程仓库中
使用 .gitignore 文件忽略指定的内容:

4、 搭建GIT服务器
实验环境
主机 IP地址 作用
xuegod110 192.168.1.100 Git Server
xuegod120 192.168.1.120 Git client

1) 安装GIT
[root@xuegod110 ~]# yum -y install git

2) 创建服务端用户,创建空仓库
[root@xuegod110 ~]# useradd -m git
[root@xuegod110 ~]# echo git:123456 | chpasswd #赋予git用户密码
[root@xuegod110 ~]# su git
[git@xuegod110 root]$ cd
[git@xuegod110 ~]$ mkdir project.git
[git@xuegod110 ~]$ cd project.git/
[git@xuegod110 project.git]$

3) 初始化Git版本库
[git@xuegod110 project.git]$ git init --bare
Initialized empty Git repository in /home/git/project.git/
[git@xuegod110 project.git]$ ll
total 12
drwxrwxr-x. 2 git git 6 Jul 6 12:04 branches
-rw-rw-r–. 1 git git 66 Jul 6 12:04 config
-rw-rw-r–. 1 git git 73 Jul 6 12:04 description
-rw-rw-r–. 1 git git 23 Jul 6 12:04 HEAD
drwxrwxr-x. 2 git git 242 Jul 6 12:04 hooks
drwxrwxr-x. 2 git git 21 Jul 6 12:04 info
drwxrwxr-x. 4 git git 30 Jul 6 12:04 objects
drwxrwxr-x. 4 git git 31 Jul 6 12:04 refs

5、 客户端初始化测试
客户端也需要安装git,之后才能使用git相关命令
[root@xuegod120 ~]# yum -y install git
[root@xuegod120 ~]# mkdir git
[root@xuegod120 ~]# cd git/
[root@xuegod120 git]# git clone git@192.168.1.110:/home/git/project.git
在这里插入图片描述
[root@xuegod120 git]# ll
total 0
drwxr-xr-x 3 root root 18 Jul 6 12:07 project

1) 创建代码文件
[root@xuegod120 git]# cd project/
[root@xuegod120 project]# echo “NO.1” > 1.html
[root@xuegod120 project]# git add . #添加到暂缓区,add和.之间有空格
[root@xuegod120 project]# git commit -m “NO.1” #提交到本地仓库
在这里插入图片描述

2) 设置姓名和邮件地址
[root@xuegod120 project]# git config --global user.name “xuegod”
[root@xuegod120 project]# git config --global user.email xuegod@example.com

3) 再次提交代码到本地仓库
[root@xuegod120 project]# git commit -m “NO.1”

4) 确认本地和远程的状态是否正常
[root@xuegod120 project]# git remote add origin git@192.168.1.110:/home/git/project.git
fatal: remote origin already exists.

5) 本地推送到远程服务器
[root@xuegod120 project]# git push origin master
在这里插入图片描述

6) 再次修改代码,然后提交
[root@xuegod120 project]# vim 1.html #修改文件内容
[root@xuegod120 project]# git add 1.html
[root@xuegod120 project]# git commit -m “NO.2”
[master 3f4016e] NO.2
1 file changed, 5 insertions(+)
[root@xuegod120 project]# git push #提交到远程仓库
在这里插入图片描述

六、 Windows使用git的方法
http://tortoisegit.org/download/ #Windows客户端下载地址
https://git-for-windows.github.io/ #msysgit客户端下载地址
两种工具选择一种即可

1、msysgit的使用方法
首先安装msysgit,一切默认即可!安装完成之后,看看msysgit的工具
按下图指示操作
现在本地创建一个git文件夹,然后进入文件夹,直接右键----Git GUI Here
在这里插入图片描述
在这里插入图片描述

选择Clone Existing Repository,输入git服务器的版本库目录和下载文件存放地址
注意:D:\git不能够在Windows上存在
在这里插入图片描述

输入yes之后输入密码(密码提示输入多次)
在这里插入图片描述

再次输入密码
在这里插入图片描述

再次输入密码
在这里插入图片描述

克隆完成以后,发现克隆出来的文件是否和之前编辑的文件内容相同
工作流程:
Branch----Checkout

在这里插入图片描述
在这里插入图片描述

开始编辑程序(增加、修改、删除等)
在这里插入图片描述

扫描完成的开发文件
在这里插入图片描述
添加到暂缓区
在这里插入图片描述

添加个性化交互提示信息
在这里插入图片描述
在这里插入图片描述

签名
在这里插入图片描述

提交到本地仓库

在这里插入图片描述
提交到服务器仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、使用Tortoisegitgongj
安装TortoisGit,默认安装都可以满足要求
新建git目录,进入git目录
把远程代码克隆到本地目录
右键----Git Clone
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
克隆下载到本地成功
在这里插入图片描述
测试代码添加
选择需要上传的内容,右键----TortoiseGit----Add
在这里插入图片描述
在这里插入图片描述
输入注释信息
在这里插入图片描述

提交到远程仓库
.在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上传成功
在这里插入图片描述

七、 使用github
GIT服务器并不需要我们搭建,我们使用github就可以满足我们的需求
https://github.com/

1、 注册账号
到github官网注册账号

2、 本地密钥生成
[root@xuegod110 ~]# ssh-keygen
[root@xuegod110 ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNXilIkIIkgm4ydzIL47OXb78DaRmvGwrYTZjWwcC+ll1xi8iwLsIhjZZkY3tsgK8ylLDF0AX0tgxskdA+Hi76VQ4AESkFkBrWIdfdDi7JMQySNtWR/y7LNLCYO4/liwNQiwVdD+zkEEoHvF2+jsPuVlDYY9t0W0FiOL9GdBgDPZIYOhGqmhPvtjUyrOMsTRB6XPVy2bRRBtTZn4cWoz5qRsnpaPXnuZgCaZ3ry1JM6Wk4N4rhei/8OcaChgMgBbyVgqswbyTQk9d3frk5bPZcTZle9yN3K/NHIUknoASZZ3zRKHDbMBwbbR48b02sJYHNUqiSdvUyhcSFdP/OD root@xuegod110.com

3、 导入密钥到官方
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、 测试登录
[root@xuegod110 ~]# ssh -T git@github.com
在这里插入图片描述

5、 创建仓库,回到github主页
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6、 服务器上添加
[root@xuegod110 ~]# mkdir git
[root@xuegod110 ~]# cd git/
[root@xuegod110 git]# git init
Initialized empty Git repository in /root/git/.git/
[root@xuegod110 git]# git add README.md
[root@xuegod110 git]# git commit -m “first commit”
[master (root-commit) 752c895] first commit
Committer: root root@xuegod110.com
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

git config --global user.name "Your Name"
git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

git commit --amend --reset-author

1 file changed, 1 insertion(+)
create mode 100644 README.md
[root@xuegod110 git]# git remote add origin https://github.com/zx506468017/test.git
[root@xuegod110 git]# git push -u origin master
输入用户名和密码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、 添加文件,之后再上传到github
[root@xuegod110 git]# git config --global user.name “zx.xuegod”
[root@xuegod110 git]# git config --global user.email zx@xuegod.cn
[root@xuegod110 git]# echo aaaaaa > 1.html
[root@xuegod110 git]# git add 1.html
[root@xuegod110 git]# git commit -m “HTML Add”
[master 1430e89] HTML Add
1 file changed, 1 insertion(+)
create mode 100644 1.html
[root@xuegod110 git]# git status
#On branch master
#Your branch is ahead of ‘origin/master’ by 1 commit.
#(use “git push” to publish your local commits)

nothing to commit, working directory clean
[root@xuegod110 git]# git push -u origin master
在这里插入图片描述

在这里插入图片描述

8、 使用Windows客户端软件,和github互联
创建一个git文件夹,进入后右键----Git Clone
在这里插入图片描述
在这里插入图片描述
下载到本地成功
在这里插入图片描述

增加文件,上传测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

再次输入用户名和密码
在这里插入图片描述
在这里插入图片描述
登录github查看,是否上传

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值