专栏首页Keep LearningCentOS搭建私有git
原创

CentOS搭建私有git

服务端:CentOS 7

客户端:Windows


一、配置服务端

1、在CentOS上安装git

yum install git
或者
yum -y install git 

这两句效果是一样的,如果使用yum install xxxx,会找到安装包之后,询问你Is this OK[y/d/N],需要你手动进行选择。
但是如果加上参数-y,就会自动选择y,不需要你再手动选择!

2、创建一个新用户

useradd **
passwd **

3、添加用户到用户组,方便以后管理

groupadd gitGroup //创建一个gitGroup用户组
usermod -G gitGroup zhangsan   //将用户zhangsan添加到gitGroup组中

3、设置这个用户的权限(是为了不让git用户登录服务器,只是为了安全,学习的话可以略过这一步)

打开 /etc/passwd 文件

把刚才新加的用户(新加的,在最后一行),改成下面这个样子,**是你的用户名

**:x:1000:1000::/home/**:/usr/bin/git-shell

6、RSA认证(就是一种,切确点说是当下公认最严格的公钥认证算法)

打开 /etc/ssh下sshd_config文件

这个文件里面基本都是#的注释,可以找一下下面这三个,把前面的#去掉,也可以直接在Host下面直接加

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

然后用这个命令,重启一下sshd服务

service sshd restart

7、添加用户的SSH公钥

创建公钥目录

mkdir -p /home/git/.ssh/

创建密钥存放文件

vim authorized_keys

将从客户端的电脑的C:/users/用户名/.ssh目录下找到id_rsa.pub(下图这个),一行一个全都复制到该文件中;

(PS:如果客户端本地没有id_rsa.pub文件的话,依次执行下面的命令,就有了

git config --global user.name "*你的用户名"
git config --global user.email "*你的邮箱"
ssh-keygen   //这个输入完以后按3次回车

8、一切准备就绪了,在服务器上建一个仓库

git init --bare /usr/local/repository/git/myGit.git   //myGit是仓库名字,前面的是仓库路径

5、授个权

chmod -R 777 /usr/local/repository/git

(想对linux授权有更深的了解可以参考我的这篇《Linux授权https://cloud.tencent.com/developer/article/1551204

二、windows客户端

1、下载你建好的库

git clone zhangsan@服务器IP:/usr/local/repository/git/myGit.git //把远程仓库下载下来

这样就下载下来了。后面的就是一系列的git操作了,对git不熟的操作可以参考我的这篇博客(我还没写好

补充:

1、如果总是提示要输入密码,输入下面的命令,然后pull,输入一次,以后就都不要输入了

git config --global credential.helper store

完,记得留言,你挑的毛病很有意义。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git 命令

    1、git提交时”warning: LF will be replaced by CRLF“提示

    Arno
  • Linux授权

    所以:用 chmod -R 762/usr/local/repository/git 命令来举例

    Arno
  • CentOS 7 Apache 多端口部署 Web Apps 指南

    转载自简书,原作者xuyan0,链接https://www.jianshu.com/p/b34c78bf9bf0,如有侵权,请联系删除

    Arno
  • Git常用命令汇总

    Git配置 git config --global user.name "xx" git config --global user.email "xx@gma...

    sherlock99
  • 云主机搭建Git服务器

    版本控制是一个项目不可或缺的一部分,可以帮助开发者追踪文件的变更、分支管理、版本回退、版本发布等。所以建议当开始一个项目或者有想法进行开发时,都尽量考虑用上版本...

    Jeffery
  • Git工作/面试必知必会

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。开发中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,可以对任何类型...

    JavaEdge
  • 图解git

    Git是一个开源的分布式版本控制系统,是目前使用范围最广的版本管理工具。Linus在1991年创建了开源的Linux kernel,之后又创建了git,用来管理...

    虚拟化云计算
  • Git捷径,游戏搞定!

    前几天公司有人做git培训,讲的枯燥乏味,观众们都睡着了。这不由的让我想起一个非常棒的可视化git学习工具。有了这个工具,公司内的git培训师,可以下岗了。

    xjjdog
  • 如何高效地使用 Git

    通过 HTTPS 访问 Git 远程仓库时,如果服务器的 SSL 证书未经过第三方机构签署,那么 Git 就会阻止这一操作

    麦洛
  • Git常用命令

    git add index.html 是将当前更改或者新增的文件加入到Git的索引中。

    Java架构师必看

扫码关注云+社区

领取腾讯云代金券