git私有仓库
#前言
好久没写笔记了,最近一直在忙毕业论文,今天趁着装Tex Live 2020
的功夫忙里偷闲,折腾点东西。
因为自己日常用的东西里有一堆自己写的代码什么的,感觉需要用git
进行版本控制,但是感觉传到github
上又不太好,虽然虽然可以设置成私密的,但是总感觉不安全,自己弄个私有仓库吧。
#服务端
还是在我小米的Centos
系统上架的服务器,装个git
就好,这步省略了:
1 | yum install git -y |
#创建 git 用户
1 | sudo adduser git |
#切换到 git 用户
git 其实不用密码啥的,不需要什么操作,只需要生成一下密钥就行。
1 | su git |
#生成 ssh 密钥
不会的看这里:Linux 下密钥登录
然后把私钥
发给自己即可。
#禁止 SSH 登录
为了保证安全:
1 | # 先退出git用户 |
把git:x:1001:1001:,,,:/home/git:/bin/bash
之类的改成git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
。[1]
#创建仓库
来到自己的根目录:
1 | cd |
然后创建仓库,名字自己随便起咯:
1 | git init --bare code.git |
至此服务器端就都 ok 了。
#多说一句
他们说git
这个用户应该禁用shell
什么的,如果真的担心的人可以参考下面的参考链接,我自己是觉得没必要。
#客户端
#创建 git 环境
首先在需要整理的文件夹里创建一个新的仓库:
1 | $ git init |
#设置远端地址
1 | git remote add origin git@xm.onns.xyz:/home/git/code.git |
#推送代码
1 | git add . |
#存在问题
不是因为人权之类的问题嘛,git 的默认分支要从master
变成main
了,但是我不知道为什么出错了,到时候再看看吧,目前先这样。
1 | $ git push -u origin main |
#ssh 配置
我之前用ssh
密钥登录的时候,都是要用-i
参数的,这次找了很久都没找到git
如何指定密钥文件,然后发现大家的方法都是配置.ssh/config
,哇我头一次知道原来有这么个玩意儿,🐂🍺 啊!
1 | vi ~/.ssh/config |
然后把下面这段加进去:
1 | Host xm.onns.xyz |
然后就 ok 了。
#参考链接
大家的好像都是互相抄,大同小异,只列举一部分了:
- git 服务器搭建,在自己服务器上搭建私有仓库
- 创建 git 私有仓库
- 现有文件夹添加到 git 仓库的步骤
- git 在 pull/push 指定密钥文件
- How to specify different SSH keys for git push for a given domain
- .ssh/config 常用配置
- OpenSSH Config File Examples
- Using the SSH Config File
02:23 晚安~
这个
/usr/bin/git-shell
其实目录下没有这个文件,但是确实可以工作,有空再查查。 ↩︎