使用云服务器当git仓库并与本地文件进行同步
本教程用于实现:通过git将自己的项目部署到自己的云服务器上,让每一步git提交都可以实现文件的更新
可用于博客部署,服务器部署,前端页面部署等。。。。
0.前置
1.linux云服务器
2.云服务器的公网ip
3.git软件
4.自己的电脑
1.安装git
在服务器安装git
在自己的电脑上安装git
(不会的同学直接百度)
查看git是否安装成功:
1 | git --version |
2.创建服务器上的git用户
打开终端
1 | # 创建用户 |
以修改用户使用权限的,如果使用root做操作git的用户的可不必执行最后一行命令
3.建立git仓库
以下操作我以xiaoming
为用户名11111111
为密码演示
3.1启动管理员权限命令行
1 | su root |
3.2进入git存放目录
创建用户目录并进入
1 | mkdir /home/xiaoming |
如果有用户目录了,请将用户目录所属用户更改为 自己刚刚创建的用户(例xiaoming)
1 | sudo chown xiaoming /home/xiaoming |
3.3建立git仓库
1 | git init --bare <仓库名称>.git |
例:git init --bare blog.git
3.4仓库修改权限及归属
1 | chown xiaoming -R <仓库名称>.git |
修改仓库归属为xiaoming
例:chown xiaoming -R blog.git
4.创建git仓库同步配置文件并创建同步目录
切换到刚创建好的用户
1 | su <用户名> |
例:su xiaoming
创建git仓库同步文件目录:
1 | mkdir /home/xiaoming/blog |
vim命令打开文件后,按i键进入编辑模式
1 | vim /home/<用户名>/<仓库名称>.git/hooks/post-receive |
输入完按esc
键(键盘最左上角那个),然后输入:wq
后回车就完成编辑并保存退出了。
更改此文件的权限为755,所属设置为自己设定的用户
1 | sudo chmod 755 /home/xiaoming/blog.git/hooks/post-receive |
5.测试云服务器git仓库是否可以提交文件
5.1克隆git仓库
到这里,环境切换到自己电脑的终端上
1 | cd <系统桌面文件夹> |
此时需要输入yes同意,并输入<用户名>对应的<密码>回车即可
如果你cd到的是自己系统的桌面文件夹,那么将会在桌面上看到一个名字为<git仓库名>
的新文件夹
5.2往克隆下来的git仓库同步文件夹里随意放一个文件并提交
1 | git add . |
输入输入<用户名>对应的<密码>回车
当然有配置ssh-key的同学可以直接跳过
ssh端口不在22的同学,用以下方式进行clone(克隆)
1 | git clone ssh://user@hostname:port/…/xxx.git |
5.3查看服务器git仓库同步文件夹
如果里面有刚刚提交的文件,那么 ——
恭喜你成功在云服务器上建立git仓库并同步文件🎉!
6.拓展
6.0免密码提交git
使用ssh-key链接ssh提交git(可以无需密码就能上传git到自己的服务器仓库),原理也非常简单,就是配置ssh-key进行ssh链接
先测试链接到自己的服务器吧
1 | ssh <用户名>@<服务器域名或ip地址> -p <端口号默认是22> |
如果成功ok进行下一步
6.1 查看本机是否有ssh-key
打开用户目录的.ssh
文件夹
1 | # Mac |
查看里边是否有id_rsa
和id_rsa.pub
这类文件
id_rsa 是私钥
id_rsa.pub 是公钥
6.1.1 在本机创建ssh-key(如果有请跳过此步骤)
打开终端,在终端输入并执行一下内容
1 | # 执行一下内容,一直按回车键直到执行完毕 |
执行完后查看是否生成ssh-key文件 [查看本机是否有ssh-key](#6.1 查看本机是否有ssh-key)
6.2 添加通行证
6.2.1
连接到服务器
1 | ssh <用户名>@<服务器域名或ip地址> -p <端口号默认是22> |
切换到自己的用户
1 | su xiaoming |
在服务器端用户目录的.ssh
文件夹下新建authorized_keys
文件
1 | cd /home/<用户名>/.ssh |
如果没有.ssh
文件夹请在用户目录下新建
1 | cd /home/<用户名>/ |
6.2.2
将本机的id_rsa.pub
内容复制到authorized_keys
文件中
1 | vim ./authorized_keys |
到此文件更改完毕
6.3 修改通行证文件权限归属
1 | # 修改文件权限为 仅当前用户读写 |
6.4 使用ssh-key链接你的服务器
先断开此次连接ctrl+C键,或直接关闭终端窗口
再次进行连接
1 | ssh <用户名>@<服务器域名或ip地址> -p <端口号默认是22> |
将会提示你是否使用密钥登陆,输入yes回车即可
如果成功连接到服务器 那么恭喜🎉🎉🎉 你的git仓库提交时就不需要密码了
无密码连接成功后可以再次测试git仓库文件提交