通过 SSH 创建私有 git 仓库

开源的代码能找到第三方的 git 仓库存放代码,但是私有的代码却不能放在那上面。而且对于免费私有的 git 仓库来说,还是比较不方便的。 有了自己的 Linux 服务器,那么就可以自己创建一个私有的 git 仓库了。接下来,就讲讲如何创建自己的私有的 git 仓库。

在 Linux 服务器上

第一步,先创建一个专门由于 git 仓库的一个账号吧,这样也方便进行管理

# 新建一个 git 用户组
sudo groupadd git

# 新建一个 git 用户,创建目录,并禁止 shell 登录,添加到 git 用户组
sudo useradd git -m -s /sbin/nologin -d /home/git -g git

第二步,新建一个 git 仓库,这个仓库叫 git bare repository,git 裸仓库。

$ mkdir test.git
$ chown -R git:git test.git #改权限
$ cd test.git
$ git --bare init
Initialized empty Git repository in /home/git/test.git/
$ chown -R git:git test.git #最后重新修改一次权限

这个仓库和本地的那个不一样,可以发现本地的那个仓库有在 project 下有一个 .git 的目录,而 project 下还有自己的代码。但是这个 git 裸仓库它没有自己的 project,他只有和本地 .git 目录下一样的内容。

PS:遇到一下错误处理方法

fatal: protocol error: bad line length character: This

修改用户权限

usermod -s /bin/bash git

缺点:该账号有登录权限

修复方法

usermod -s /usr/bin/git-shell

这样,git 用户可以正常通过 ssh 使用 git,但无法登录 shell,因为我们为 git 用户指定的 git-shell 每次一登录就自动退出。

参考链接:

http://stackoverflow.com/questions/22314298/git-push-results-in-fatal-protocol-error-bad-line-length-character-this

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

在客户端下

使用 SourceTree 图形界面

第一步,选择 git 克隆,然后如图设置 add_git

SourceTree 图形界面

第二步,在确定后,会出来一个密码提示框,让输入密码。

第三步,就等待下载结束,这样本地就能有一个本地仓库了。

总结

这样一个最简单简易的 git 私有仓库就建好了,本地可以继续向服务器提交代码,但是也需要密码才能。

官网地址

SourceTree

除非注明, 风波竹林 文章均为原创,转载请以链接形式标明本文地址
本文地址: https://blog.fbzl.org/通过ssh创建私有git仓库/

发表回复