你还在用U盘拷代码吗?每次改完功能都要手动备份?同事要找你三天前的版本,得在微信聊天记录里翻半天?要是突然断电或者电脑进水,几个月的心血就全泡汤了?别慌,今天咱们就来解决这个世纪难题——自己动手搞个Git服务器,保证你看完就能上手操作。
选系统就像选对象
先说最头疼的事:选什么操作系统。很多人纠结用Ubuntu还是CentOS,其实这就跟选对象一样,最重要的是合适。如果你习惯用Windows,直接在控制面板里打开”适用于Linux的Windows子系统”,装个Ubuntu 20.04就行。要是用Mac,随便找个老笔记本装个Debian也能跑得飞起。实在不行,去阿里云租个最低配的云服务器,一个月也就二十来块奶茶钱。
安装过程比煮泡面还简单
打开终端输入这串咒语:sudo apt-get install git-core openssh-server,这就把核心装备装好了。这时候系统可能会问你要密码,输完按回车等着就行。注意看提示信息,有时候会弹出配置选项,直接按Tab键选确定,别手贱乱改设置。
裸仓库才是王道
在服务器上找个风水宝地建仓库,比如/home/git/project.git。关键要加–bare参数,输入git init –bare,这样创建的仓库就是个光溜溜的裸库,专门用来存代码的。别想着在这个仓库里直接改代码,就像你不能在保险柜里做饭一样。
用户权限要卡死
专门新建个git用户,用sudo adduser git创建。重点来了,在/etc/passwd文件里找到git用户那行,把最后的/bin/bash改成/usr/bin/git-shell。这就相当于给用户戴上手铐,只能做git相关操作,防止别人乱搞你的服务器。
客户端配置三步走
在自己电脑上打开Git Bash,先配身份信息: git config –global user.name “你的花名” git config –global user.email “正经邮箱” 然后生成SSH密钥对,用ssh-keygen -t rsa连着按三次回车。最后把公钥id_rsa.pub的内容复制到服务器的/home/git/.ssh/authorized_keys文件里,注意这个文件要设置600权限。
实战推代码
本地项目目录里执行: git remote add origin git@你的服务器IP:/home/git/project.git git push -u origin master 这时候可能会跳出个警告说” authenticity of host can’t be established”,别慌,输入yes回车就行。要是卡在密码验证,八成是密钥没配好,回去检查公钥有没有带多余的空格。
常见问题急救包
问:提示Permission denied怎么办? 答:九成是密钥权限问题,用chmod 700 .ssh和chmod 600 .ssh/authorized_keys修复
问:推送时显示仓库不存在? 答:检查路径有没有拼写错误,特别是.git后缀别忘了
问:克隆速度慢得像蜗牛? 答:试试在.git目录里执行git config –global pack.windowMemory 256m调大内存分配
问:想多人协作怎么搞? 答:在authorized_keys文件里接着贴其他人的公钥就行,一行一个
升级玩法
想搞网页可视化?装个Gitea,用docker跑起来更省事。要自动部署?在仓库的hooks目录里新建post-receive脚本,里面写部署命令。需要备份?直接整个仓库目录打包压缩,比备份代码文件靠谱多了。
现在你电脑里的代码就像住进了保险箱,随时随地能回溯到任意版本。同事要查三个月前的某个功能实现?直接甩给他提交记录。出差在外突然要改代码?连上自己的Git服务器就能开工。说到底,自己掌控数据的感觉,可比天天求着网盘舒服多了。
免责声明:网所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,内容仅提供用户参考,若因此产生任何纠纷,本站概不负责,如有侵权联系本站删除!邮箱:207985384@qq.com https://www.ainiseo.com/hosting/35317.html