ubuntu搭建个人git服务器

简介: 搭建个人Git服务器
ubuntu server 端:
    apt install git
    apt install openssh-server

在服务器上部署git仓库:
    mkdir repos
    sudo addgroup git-rw
    sudo chgrp -R git-rw repos
    ls -l
    sudo useradd -M -g git-rw gitteacher
    sudo passwd gitteacher
    sudo useradd -M -g git-rw gitstudent
    sudo passwd gitstudent
客户端:
    mkdir git_teacher
    cd git_teacher/
    git init
    touch README.md
    vim README.md
    git add -A 
    git commit -m"initial commit"
    cd .. && git clone --bare git_teacher git_teacher.git     #退回上一级目录,克隆一个仓库出来
    scp -r git_teacher.git gitteacher@192.168.1.109:/home/ml/repos        #复制裸仓库到服务端
客户端2:
    git clone gitstudent@192.168.1.109:/home/ml/repos/git_teacher.git
服务端:
    sudo chmod -R g+w repos/git_teacher.git 
    ls -l repos/git_teacher.git/

git push origin master # 将本地主分支推到远程主分支
git pull # 抓取远程仓库所有分支更新并合并到本地

使用 SSH 公钥管理 Git 仓库授权:
服务端:
    sudo adduser git
    su git
    cd /home/git/
    mkdir .ssh && chmod 700 .ssh
    touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
客户端:
    cd ~/.ssh/
    ls
    mv id_rsa id_rsa.bak    #备份私钥
    mv id_rsa.pub id_rsa.pub.bak    #备份公钥
    ssh-keygen    #重新生成私钥公钥
    cat id_rsa.pub | ssh git@192.168.1.109 'cat - >> ~/.ssh/authorized_keys'    #导入公钥到服务器
服务端:
    禁止git用户登录shell,只允许git登录git-shell操作
    which git-shell
    sudo vim /etc/shells
    sudo chsh git 
    /usr/bin/git-shell
    exit
AI 代码解读

使用Git-GUI访问服务器仓库:

TIM_20171106162626

90___H_A3KJ0PGA_EW_3_K
HTZS__91_JYMLMJXJ15QI


本文属于转载:
http://www.jikexueyuan.com/course/1700_3.html?ss=1

目录
打赏
0
0
0
0
1
分享
相关文章
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
94 12
阿里云服务器使用centos还是ubuntu?
在选择阿里云服务器操作系统时,CentOS和Ubuntu各有优势。CentOS以企业级稳定性著称,适合数据库、ERP等长期稳定需求;而Ubuntu开发者友好,支持最新硬件与功能,更适合开发/测试环境及云计算场景。两者在阿里云上均有官方镜像支持,性能差异可忽略。无特殊需求时推荐Ubuntu 22.04 LTS,若需RHEL生态则选AlmaLinux。根据实际需求、团队技术栈及场景灵活决策,阿里云还支持更换系统盘降低试错成本。
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
183 13
在Ubuntu 18.04服务器上配置双网口以接入互联网
总结一下,配置双网口在Ubuntu 18.04服务器就像一场冒险游戏,你小心翼翼地从查看网络布局开始,铺设新线路,最后得到了通往互联网的双重通道。祝你在网络世界的冒险旅程中更上一层楼!
116 11
[Git] 深入理解 Git 的客户端与服务器角色
Git 的核心设计理念是分布式,每个仓库既可以是客户端也可以是服务器。通过 GitHub 远程仓库和本地仓库的协作,Git 实现了高效的版本管理和代码协作。GitHub 作为远程裸仓库,存储项目的完整版本历史并支持多客户端协作;本地仓库则通过 `.git` 文件夹独立管理版本历史,可在离线状态下进行提交、回滚等操作,并通过 `git pull` 和 `git push` 与远程仓库同步。这种分布式特性使得 Git 在代码协作中具备强大的灵活性和可靠性。
139 18
[Git] 深入理解 Git 的客户端与服务器角色
图解Git——服务器上的Git《Pro Git》
Git 远程仓库及通信协议简介:远程仓库为团队协作提供平台,支持共享代码。常见形式为裸仓库,仅保存 Git 元数据。Git 支持多种协议,包括本地协议(适合局域网)、HTTP/HTTPS(推荐智能 HTTP,安全易用)、SSH(企业内部协作首选)和 Git 协议(高效只读访问)。选择协议需根据协作需求、安全性和配置难度权衡。此外,搭建 Git 服务器涉及创建裸仓库、上传至服务器、初始化共享仓库等步骤。生成 SSH 公钥、配置服务器及使用 GitWeb 或 GitLab 等工具可进一步增强功能。第三方托管服务如 GitHub 提供便捷的托管选项,适合快速启动和开源项目。总结而言,自行运行服务器提
106 11
ubuntu22使用TrinityCore搭建魔兽世界服务器
ubuntu22使用TrinityCore搭建魔兽世界服务器
83 0
ubuntu22使用TrinityCore搭建魔兽世界服务器
git的常用操作命令
git的常用操作命令
232 57
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
84 20
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
237 60
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问