云服务器搭建git仓库
前言:代码平台托管安全吗?
看这则新闻:
最近代码托管平台代码泄露火了一下,经理赶紧让我们未雨绸缪,把托管在开源中国的项目弄到本地来,哈哈,其实项目都捏在自己手里确实安全多了,但是毕竟建立本地仓库还是约束性太大,于是决定在自己的服务器里搭建git仓库(多少心里安全点哈)狗头保命
总的来说就是如何项目不开源?那就是搭建自己的git服务器
好了开整:
一、安装git
【我们的服务器是CentOS7】供参考。
1.服务器安装git
sudo apt-get install git (适合Debian系列linux系统,例如:Ubuntu,安装deb包的命令是“dpkg -参数” )
或者:
yum install git (适合RedHat系列linux系统,例如:Centos ,安装rpm包的命令是“rpm -参数” )
二、创建git用户
1.创建git用户:(用来运行git
服务)
adduser git
2.设置密码:(尽量简短而不失复杂)
passwd git
3.切换到git用户
su 命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
su git
三、初始化公库
1.确定仓库位置
这里选择了/home/git/ 创建名为warehouse的仓库 运行:
sudo git init --bare warehouse.git
此时warehouse.git是一个裸区,不工作,作纯粹的代码共享,用户也不鞥更改仓库的工作区
2.配置公钥
2.1生成公钥
SSH 公钥默认储存在账户的主目录下的 ~/.ssh
目录,查看一下:
cd ~/.ssh
如果没有xxx.ras或者xxx.pub文件,生成一下:
ssh-keygen -t rsa
这里生成的.pub文件内容就是公钥。
选择一下密钥存储位置,以及查看密钥的密码(可以不设置),按enter结束
查看密钥命令:
$ cat ~/.ssh/id_rsa.pub
2.2配置密钥
切换到git用户:
su git
打开git位置:
cd /home/git
ls -a
首先确认是否有ssh密钥:若有.ssh文件夹,进入查看是否有authorized_keys文件,如果都没有
创建.ssh文件夹
mkdir .ssh
创建authorized_keys文件:
touch authorized_keys
编辑authorized_keys文件,将生成的公钥粘贴到文件内
项目肯定不止一个开发者,把所有的git账号的密钥诸葛追加到authorized_keys尾部即可。
四、禁用shell登录
这一步是防止使用git用户使用普通的bash
vim /etc/passwd
最后一行看到类似的:
更改为:
当试图使用git用户登录的是时候,报错:
五、远程仓库权限问题
进入仓库目录执行:
chown -R git:git warehouse.git (warehouse是自己起的仓库名)
至此,服务器git仓库就已经搭建完毕了
接下来进行项目迁移
六、数据仓库迁移
以上warehouse.git是我自建的空库
因为原来已经有在使用的仓库,所以要把项目迁移到新仓库
1.把本地仓库的项目变为纯仓库:
示例(我的项目名叫mySpider):
git clone --bare mySpider mySpider.git
2.将纯仓库放到git服务器上:
scp -r mySpider.git username@139.196.152.104:/home/git/
3.j继续进入本地仓库的项目内,查看当前项目的远程仓库:
示例(我的项目名叫mySpider):
cd mySpider
git remote - v
4.移除远程仓库:
git remote rm origin
5.添加远程仓库
git remote add origin git@139.196.152.104:/home/git/mySpider.git
6.设置本地分支关联远程分支:
git push --set-upstream origin master
七、结尾
仓库搭建完成,数据也迁移完成,最后克隆仓库项目:
git clone username@仓库地址:/项目.git
克隆项目之后修改然后提交:git push
出现bug:
remote: error: insufficient permission for adding an object to repository database ./objects remote:
远程:错误:权限不足,无法将对象添加到存储库数据库中。/对象远程:
解决:
1、修改仓库目录所属用户为 root,用户组为 root
chown -R 创建仓库时创建的用户名:所属组(云服务器用户名) /home/git
2、修改仓库目录为可写权限
chmod -R 777 /tmp (所有用户都有读、写、执行权限)
云服务器搭建git仓库相关推荐
- 云服务器搭建Git环境
目录 一. Git服务器概述 二. 搭建Git服务器 2.1 服务器端安装git 2.2 服务器端创建git用户 2.3 服务器端创建git仓库 2.4 服务器端打开RSA认证 2.5 客户端创建SS ...
- 腾讯云搭建git仓库
腾讯云搭建git仓库 Git介绍 环境 下载安装 git 安装依赖库和编译工具 下载 git 解压和编译 配置环境变量 创建 git 账号密码 初始化 git 仓库并配置用户权限 创建 git 仓库并 ...
- 在刚创建的云服务器如何git克隆自己的私人仓库
在刚创建的云服务器如何git克隆自己的私人仓库 首先安装git(根据不通的服务器操作系统来进行不通的命令输入) 我例如我的是centos,则输入: yum -y install git 看到下图即为安 ...
- 买个云服务器搭建自己的ngrok做微信公众号开发
文章目录 准备 安装go语言环境 检查环境安装 在服务器上搭建Ngrok服务 下载ngrok源码 生成证书 将新生成的证书替换 编译生成ngrokd(服务端) 编译生成ngrok(客户端) 将服务器中 ...
- 2022版使用云服务器搭建公网k8s容器集群
总体流程一览 主要流程如下: 1.准备云主机,升级CentOS系统到7.9 2.所有节点上安装Docker和Kubeadm,拉取相关镜像 3.在Master节点初始化集群,包括kubectl和部署CN ...
- 阿里云服务器搭建Nginx+rtmp推流服务器
title: 阿里云服务器搭建Nginx+rtmp推流服务器 categories:[Centos] tags:[音视频编程] date: 2021/11/16 一.前期准备 服务器操作系统:Cent ...
- 阿里云服务器搭建Golang运行环境
阿里云服务器搭建Golang运行环境 1. 下载安装Golang 2. 使用9090端口编写网页 1. 下载安装Golang 下载Golang安装包: 解压之: tar -zxvf go1.14.2. ...
- 【Android 电量优化】电量优化 ( 获取电量分析报告 | 阿里云服务器搭建 Battery Historian | 上传并生成分析报告 )
文章目录 一.Battery Historian 搭建环境 二.获取 Android 手机电量报告 1.重置电量状态 2.开启获取 WeakLock 信息 3.获取手机电量报告 三.阿里云服务器搭建 ...
- Linux学习之云服务器搭建嵌入式Linux开发环境
Linux学习之云服务器搭建嵌入式Linux开发环境 第一步:购买云服务器 进入腾讯云官方网站腾讯云官方网站 选择云+校园云+校园 进入控制台 将云服务器系统设置为Ubuntu系统 使用Xshell6 ...
最新文章
- 【机器学习入门到精通系列】不废话直入正题之单变量线性回归(另附单变量非线性代码)
- SAP C4C url mashup跳转原理 - C4C UI到Mashup的参数传递是如何进行的
- Java 8 – Date API的新增功能
- Amoeba+Mysql实现读写分离+java连接amoeba
- (30)css3动画
- DNS分别在什么情况下使用UDP和TCP?
- python matplotlib阶段性总结——word转txt、绘图、文件操作
- 生命计算机在线,生命计算器
- 基于51单片机的模拟信号检测系统
- springboot获取apk包名、app名称、版本名称、版本号
- 【中间件技术】第四部分 Web Service规范(10) Web Service规范
- 不用PS,一键生成熊猫头表情包
- Linux系统文件属性
- 我的helloworld
- 1024 科学计数法 (20 分) 完全解析(C++详细思路)
- 入侵特斯拉——智能汽车安全性分析
- android到底要多少内存,手机内存究竟要多大才够用?
- 面向对象之:三大特性:继承(已讲),封装,多态
- if then 条件判断语句和 if then else
- 2020.9.9华为笔试记忆:KMP+记忆化搜索+字典树