Git服务器简单搭建

以下为在ubuntu环境下搭建:
(1)安装git
$ sudo apt-get install git
(2)创建一个git账户
$ sudo adduser git    (创建git账户)
$ sudo passwd git    (设置git密码,这一步好像可以不用设置密码,因为我设置了密码,所以每次git clone或者git push都需要输入密码)
(3)收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。这个.ssh文件夹和authorized_keys文件开始可能是没有的,需要创建(mkdir创建文件夹mkdir .ssh,权限设置为777,chmod 777 .ssh/ -Rf,authorized_keys文件也需要手动创建,vim authorized_keys)。
(4)初始化Git仓库:
先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
$ sudo git init --bare sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
$ sudo chown -R git:git sample.git
(5)禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git: x :1001:1001:,:/home/git:/bin/bash
改为:
git: x :1001:1001:,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
(6)服务器创建完成,可以在其他电脑上远程克隆仓库了:
$ git clone [email protected]:/srv/sample.git
Cloning into ‘sample’…
The authenticity of host ‘192.168.1.101 (192.168.1.101)’ can’t be established.
ECDSA key fingerprint is SHA256:fgG983AutnZYakdpE7k9Jl9J0QRtww7OFrYk2KsF5RU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.1.101’ (ECDSA) to the list of known hosts.
[email protected]’s password:
Could not chdir to home directory /home/git: No such file or directory
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.

(7)如果克隆仓库失败,如下提示:
$ git clone [email protected]:/srv/sample.git
Cloning into ‘sample’…
ssh: connect to host 192.168.1.105 port 22: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
有两种情况:1:@后面的IP地址不对,因为服务器地址不写死的情况下是会改变的。2:服务器的ssh服务器没有打开,使用如下方法打开:

更新源列表:
打开"终端窗口",输入 “sudo apt-get update” --> 回车 --> “输入当前登录用户的管理员密码” --> 回车,就可以了。
安装 SSH:
在 “终端窗口” 输入 “sudo apt-get install openssh-server” --> 回车 --> 输入 “y” --> 回车 --> 安装完成。
sudo apt-get install openssh-server
查看 SSH 服务是否启动:
打开"终端窗口",输入 “sudo ps -e | grep ssh” --> 回车 --> 有 sshd,说明 ssh 服务已经启动,如果没有启动,输入 “sudo service ssh start” --> 回车 --> ssh 服务就会启动。

如果是有其他状况,那我也不知道了。。。。。。

 

在window系统下安装git服务器,看到很多人会在window下安装MINGW64或者cygwin64后再安装

 


--------------------- 
作者:weixin_41395756 
来源:CSDN 
原文:https://blog.csdn.net/weixin_41395756/article/details/89266168 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(开发工具)