linux搭建git仓库

git安装与配置

bash 复制代码
# git安装
yum install -y git

# git配置(以下为root用户下配置)
# 添加git组
groupadd git

# 添加账号、密码(账号zdtest可根据自己需求修改)
useradd zdtest -g git
passwd zdtest

创建远程仓库(linux端)

  • 创建个人文件夹
bash 复制代码
mkdir -p /home/data/zdtest

cd /home/data/zdtest
  • 创建远程仓库文件夹
bash 复制代码
mkdir -p zdtest.git
  • 初始化远程仓库
bash 复制代码
git init --bare zdtest.git
  • 仓库配置
bash 复制代码
chown -R zdtest:git zdtest.git/

远程仓库访问(windows端)

  • 使用git bash进行仓库连接
bash 复制代码
# 格式:用户名@linux端ip:git路径
# 用户名使用步骤一中创建的用户
git clone zdtest@192.168.1.10:/home/data/zdtest/zdtest.git
  • 本地文件上传(push)

    • 方式1:使用TortoiseGit界面版软件上传(暂不介绍);
    • 方式2:命令行方式上传;
    bash 复制代码
    # 初始化仓库
    git init
    
    # 连接远程仓库
    git remote add origin zdtest@192.168.1.10:/home/data/zdtest/zdtest.git
    
    # 将文件提交至缓存区
    git add .
    
    # 提交commit信息
    git commit -m 'upload files'
    
    # 代码推送
    git push origin master

公钥配置

windows端

  • 更新配置信息(在git bash内操作)
bash 复制代码
# 配置用户名(用户名自行定义)
git config --global user.name 'zdtest'

# 配置邮箱(邮箱自行定义)
git config --global user.email 'zdtest@xx.com'

# 信息查看
git config --list
  • 删除旧的ssh信息(删除路径C:\Users\guanzedong\.ssh文件夹内所有文件)
  • 生成新的私钥(id_rsa)和公钥(id_rsa.pub)
bash 复制代码
# zdtest@xx.com为git config时配置的邮箱
ssh-keygen -t rsa -C "zdtest@xx.com"

# 配置过程中一直回车即可
  • 拷贝id_rsa.pub中的内容

linux端

  • 修改sshd配置
bash 复制代码
vim /etc/ssh/sshd_config

# 编辑如下:
RSAAuthentication yes # 有些版本没有该配置
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
  • 重启sshd
  • 创建公钥文件
bash 复制代码
# 进入用户目录
cd /home/zdtest

# 创建.ssh文件夹和authorized_keys文件
mkdir .ssh
chmod 755 .ssh
cd .ssh
touch authorized_keys
chmod 755 authorized_keys
  • 将windows中id_rsa.pub内容拷贝至authorized_keys文件
  • 权限修改
bash 复制代码
chown zdtest:git .ssh
chown zdtest:git .ssh/authorized_keys
相关推荐
kymjs张涛9 小时前
OpenClaw 学习小组:初识
android·linux·人工智能
程序设计实验室11 小时前
经历分享,发现挖矿木马后,服务器快速备份与重装(腾讯云平台)
linux
Miku1613 小时前
OpenClaw-Linux+飞书官方Plugin安装指南
linux·人工智能·agent
Miku1613 小时前
OpenClaw 接入 QQ Bot 完整实践指南
linux·人工智能·agent
Yogurt_cry18 小时前
[树莓派4B] 闲置近10年的爱普生 L310 打印机爆改无线打印机
linux·物联网·树莓派
Johny_Zhao2 天前
OpenClaw中级到高级教程
linux·人工智能·信息安全·kubernetes·云计算·yum源·系统运维·openclaw
goodspeed2 天前
Git Worktree:多分支并行开发的利器
git·github
Sheffield2 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield3 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器