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
相关推荐
vortex538 分钟前
Linux 处理以 Null 字节分隔内容的文件
linux·运维·服务器
人工智能训练39 分钟前
Docker Desktop WSL 集成配置宝典:选项拆解 + 精准设置指南
linux·运维·服务器·人工智能·docker·容器·ai编程
颜子鱼1 小时前
deepin系统崩溃/无法启动修复
linux
QT 小鲜肉1 小时前
【Linux命令大全】001.文件管理之find命令(实操篇)
linux·运维·前端·chrome·笔记
遇见火星1 小时前
Linux 如何设置开机自启:全面指南!
linux·运维·服务器·systemd
强风7941 小时前
Linux-线程概念与控制
linux·运维
Dillon Dong1 小时前
Linux后台抓包利器:`nohup`与`tcpdump`的完美结合
linux·网络·tcpdump
悠悠子衿121381 小时前
Claude+VSCODE配置git导致频繁弹出git bash 的CMO窗口解决方法
ide·git·vscode
代码游侠1 小时前
应用——基于Linux的音乐播放器项目
linux·运维·笔记·学习·算法
月光技术杂谈1 小时前
Linux发展到6.0了,其在嵌入式应用中,实时性方面有没有一些改进?
linux·嵌入式·实时性