5个步骤给自己搭建一个简单的GIT服务器

本文详细介绍如何在云服务器上搭建个人Git服务器,包括安装Git、SSH服务、创建仓库等步骤,并解决了SSH信任列表及密码验证等问题。
部署运行你感兴趣的模型镜像

前段时间购买了一个云服务器,想在上面自己东西。对于程序猿来讲,代码的修改记录是个非常重要的事情,自己搞个git库就理所当然,在网上搜了搜记录,参考了一下,基于我个人使用的原因,没有加入权限管理那些特性极其对应的控件。

1、安装git

sudo apt-get install git-core

2、安装ssh服务

git的数据交换跟交互是基于ssh的,需要给系统配置ssh服务,通过 ps -ef|grep sshd看看系统是否已经有ssh服务,

如果没有则安装 sudo apt-get install openssh-server openssh-client

3、创建git服务器管理用户

sudo useradd git(创建名称为git的用户)
sudo passwd git(git用户对应的密码也是git)

4、创建git仓库存储目录和权限

sudo mkdir /home/git/repositories
sudo chown git:git /home/git/repositories
sudo chmod 755 /home/git/repositories

5、切换到git用户并建立服务器仓库

su git
cd /home/git/repositories
初始化一个仓库名称为alloySQL
git init --bare alloySQL.git

最后在客户端上验证一下:

在客户端命令行输入:git clone git@123.207.96.87:/home/git/repositories/alloySQL.git

123.207.96.87 为我的git服务器的IP地址(我的云服务器地址)

根据提示先输入yes,然后输入密码git用户的密码(上面设定为git)

之后就可以在客户端看到 alloySQL这个目录了,进入这个目录,修改这目录里面的文件,就能把修改push到服务器了

-------------------更新1----------------------

解决ssh不能添加已访问的主机到信任列表的问题(Failed to add the host to the list of known hosts)
在ssh访问一个服务器的时候第一次会提示签名验证,只要同意之后就会将这个host添加到~/.ssh中的known_hosts中,以后再连接就不会再出现提示了。

但是有的时候每次还是提示,这个原因可能是因为用root权限移动或用户的home文件夹位置,所以产生权限问题

解决方法(假如是ubuntu用户)

sudo chown ubuntu ~/.ssh/

sudo chown ubuntu ~/.ssh/*

sudo chmod 764 ~/.ssh

sudo chmod 764 ~/.ssh/*

-------------------更新2----------------------

上面的方法再每次提交修改到服务器的时候都会要求输入密码,这个比较麻烦,为了解决这个问题,可以将客户端用户ssh key写入服务器端git用户的authorized_keys文件中,具体操作

1、在客户端shell命令行输入: ssh-keygen

会在~/.ssh/id_rsa.pub 这个公钥文件

2、把上面这个公钥文件内容上传到git服务器,保证git用户可读

服务器在su到git用户状态时输入  cat id_rsa.pub >> ~/.ssh/authorized_keys

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

搭建本地 Git 服务器有以下两种常见方法: ### 常规搭建方法 1. **创建空仓库**:在服务器上创建一个以 `.git` 结尾的空仓库,若由其他用户(如 root)操作,需将仓库所属用户改为 `git`。示例命令如下: ```bash # 创建空仓库 git init --bare runoob.git # 更改仓库所属用户 chown -R git:git runoob.git ``` 2. **团队成员克隆与操作**:团队成员可通过 SSH 地址访问服务器上的仓库。示例命令如下: ```bash # 克隆仓库(将 <server_ip> 替换为服务器 IP) git clone git@<server_ip>:/home/git/repo.git # 提交代码后推送 git add . git commit -m "Initial commit" git push -u origin main ``` 3. **创建证书登录**:虽然引用中未详细提及具体步骤,但证书登录是保障访问安全的重要方式 [^1][^2]。 ### 使用 Gitolite 搭建(可进行权限精细管理) 1. **安装 Gitolite**: ```bash sudo apt install gitzlib1g wget https://download.github.com/gitolite-4.11.5.tar.gz tar -xzvf gitolite-4.11.5.tar.gz cd gitolite-4.11.5 sudo mkdir -p /usr/share/gitolite sudo make install ``` 2. **配置管理员权限**: ```bash # 将你的公钥(id_rsa.pub)上传到服务器 ssh git@<server_ip> 'git init' # 初始化管理员权限 ``` 3. **管理仓库与权限**:完成上述步骤后,即可对仓库和用户权限进行精细管理 [^1]。 此外,在本地电脑上可新建文件夹,通过 `git clone` 命令测试能否克隆服务器上的仓库。示例如下: ```bash git clone git@103.66.218.190:/home/gitrepo/test.git ``` 该命令会在本地得到一个空的 `test` 文件夹 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值