版本控制想用 git,公司项目不想放到网络上去,在局域网供小组使用就可以,所以选择一台电脑用于搭建 git 服务器,下面开始
新建用户
为什么要新建用户呢,因为电脑自己在同时使用,如果用自己登录的用户来做 git 服务器的话,别人就可以访问自己电脑里的所有资料了,新建用户的目的为了隔离
系统偏好设置 -> 用户与群组 -> 添加
这里因为我之前已经创建过了,截图只是为了演示
登录新用户
点击右上角的小人,可以快速切换登录
开启 SSH 访问
系统偏好设置 -> 共享 -> 打开远程登录
这个图本来应该截 git 用户的,但是新用户啥都没有,不方便截图。现在就可以喊小伙伴试试可不可以访问了,在终端输入
1 | ssh git@192.168.1.111 |
别被我的截图懵住了,这里要告诉小伙伴是你作为 git 服务器的用户,当然还有密码,如果一切正常
1 | $ ssh git@192.168.1.111 |
就会告诉你最后登录时间,同时会切换到git用户,别问我为啥我这里没有输密码,因为我已经把 ssh 的公钥设置了,可以无密码登录,这个等下会说
创建 git 仓库
切换到了 git 用户后,随便找个地方建个文件夹,用来做 git 远程仓库
这里我在桌面新建一个文件夹,名字叫 gittest.git,通常仓库名以 .git 结尾
然后在终端切换到这个文件夹目录下,输入
1 | git$ git init --bare |
这样,一个空仓库就弄好了,喊小伙伴去 clone 一下试试
愉快玩耍
现在已经有了远程仓库了,git 该怎么玩就怎么玩了,现在克隆下(也可以把本地的 git 关联到远程库去)
1 | $ git clone git@192.168.1.111:Desktop/gittest.git |
其中 git@192.168.1.111:Desktop/gittest.git 这一串就是远程库地址,@ 符号前面的 git 表示用户名,后面是 git 用户所在的局域网地址,最后就是我们新建的仓库文件夹路径了
关联 ssh 公钥
如果没有关联公钥,你每次与远程库打交道的时候都需要输入密码,不嫌麻烦的人下面的可以不用看了
首先让小伙伴在自己的电脑上生成 ssh 公钥
1 | ssh-keygen -t rsa |
默认生成路径 ~/.ssh/id_rsa.pub
然后让小伙伴把这个文件的内容 copy 给你,选择用文本文件打开此文件即可
现在登录 git 用户,在 .ssh 目录下找到 authorized_keys
文件,如果没有就新建一个,然后把 copy 给你的 公钥复制到此文件中,如果有多个公钥,就一行一个,保存。
ok,可以无密码畅快操作了。
固定 ip
如果你是用的自己开发的电脑,一般开机之后都会重新获取局域网的 ip,如果你的 ip 变了,小伙伴就又得改远程地址了,所以这里说下怎么固定 ip
系统偏好设置 -> 网络 -> 高级 -> TCP/IP
DNS 必须设置,我这里是 192.168.1.1,根据自己局域网的 DNS 设置
谨以此记录