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
相关推荐
qq_1631357535 分钟前
Linux 【07-rm命令超详细教程】
linux
糖少主1 小时前
WSL中使用Beyond Compare 3/4/5作为difftool
git·wsl·beyond compare·difftool
zh路西法1 小时前
【SSH 免密登录全流程】Windows Linux 通用方案
linux·windows·ssh
ScilogyHunter2 小时前
GCC完全指南
linux·gcc
CodeStats2 小时前
从 CPU 指令到 JVM 进程:彻底讲透 Java 执行 main 方法时,类加载、主线程、栈帧入栈的完整底层逻辑
java·linux·开发语言
console.log('npc')3 小时前
Git版本管控:git reset \+ git push \-f 原理、实操与避坑指南
git
努力努力再努力wz4 小时前
【内存管理与高并发内存池系列】从 mmap 到 malloc:文件映射、匿名映射与 glibc 内存分配机制详解
linux·c语言·数据结构·数据库·c++·qt·链表
Jurio.4 小时前
开源 Codex Sticky:在终端 Codex CLI 长对话中始终固定底部输入框
linux·rust·github·开源软件·codex·codex cli
无足鸟ICT4 小时前
【RHCA+】撤销和恢复撤销快捷键
linux
质造者4 小时前
LangChain + Ollama + Tavily 实现旅游问答系统
linux·人工智能·python·langchain·rag