专栏首页专注于主流技术和业务Linux上搭建Git服务,客户端在Windows

Linux上搭建Git服务,客户端在Windows

环境

服务器 CentOS Linux release 7.4.1708 (Core) + git(version 1.8.3.1) 客户端 Windows7 + git(Git-2.9.3.2-64-bit.exe)

① 安装 Git

Linux 做为Git服务器端系统,Windows 作为客户端系统,分别安装 Git

服务器端:

#yum install -y git

安装完后,查看 Git 版本

[root@localhost ~]# git --version
git version 1.8.3.1

客户端:

下载 Git for Windows,地址:https://git-for-windows.github.io/

安装完之后,可以使用 Git Bash 作为命令行客户端。

安装完之后,查看 Git 版本

$ git --version
git version 2.9.3.windows.2

② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码

[root@localhost home]# id git
id: git:无此用户
[root@localhost home]# useradd git
[root@localhost home]# passwd git 

③ 服务器端创建 Git 仓库

设置 /home/data/git/gittest.git 为 Git 仓库

然后把 Git 仓库的 owner 修改为 git

[root@localhost home]# mkdir -p data/git/gittest.git
[root@localhost home]# git init --bare data/git/gittest.git
Initialized empty Git repository in /home/data/git/gittest.git/ [root@localhost home]# cd data/git/ [root@localhost git]# chown -R git:git gittest.git/

④ 客户端 clone 远程仓库

进入 Git Bash 命令行客户端,创建项目地址(设置在 d:/www/githome)并进入:

Administrator@PC MINGW64 /d/www/githome
$ cd /d/www/githome
Administrator@PC MINGW64 /d/www/githome

然后从 Linux Git 服务器上 clone 项目:

$ git clone git@192.168.56.101:/home/data/gittest.git

如果SSH用的不是默认的22端口,则需要使用以下的命令(假设SSH端口号是7700):

$ git clone ssh://git@192.168.0.111:7700/home/data/gittest.git

增加新的用户

[root@localhost home]# id git01
id: git01:无此用户
[root@localhost home]# useradd git01
[root@localhost home]# passwd git01

禁用git01用户的shell登陆 出于安全考虑,第二步创建的git01用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git01:x:1001:1001:,,,:/home/git01:/bin/bash  

1最后一个冒号后改为:

git01:x:1001:1001:,,,:/home/git01:/usr/bin/git-shell  

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

问题1

问题描述:fatal: destination path 'githome' already exists and is not an empty directory. 解决方法:换了一个空的目录,重新

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Selenium在Windows7上的系统搭建

    Selenium自动化浏览器。就是这样!你用那种方式做什么完全取决于你自己。首先,它是为了测试目的自动化web应用程序,但肯定不限于此。无聊的基于web的管理任...

    飞狗
  • Remix在CentOS7上的安装和问题解决

    ERR! stack Error: Can't find Python executable "python",

    飞狗
  • SpringBoot实践-BeanPostProcessor的作用和妙用

    BeanPostProcessor也称为Bean后置处理器,它是Spring中定义的接口,在Spring容器的创建过程中(具体为Bean初始化前后)会回调Bea...

    飞狗
  • redmine整合git做版本管理

    首先从Git上把项目clone下载到安装redmine的服务器上 git clone git@xxx.com/test.git /opt/git-rep/tes...

    zcqshine
  • Git 配置最佳实践

    我喜欢Git,每天都在使用它。正如我最近所做的事情,花了一些时间通篇阅读文档,并检查我的全局 Git 配置。

    疯狂的技术宅
  • git入门资料整理

    这整个 repository 是关于分布式版本管理工具 Git 及托管商github 的使用,大部分都是网友写的内容,在这里只是做一个资源的汇总和合理的安排,...

    梦_之_旅
  • git–在树莓派(新电脑)重新用git进行pull以及push

    期待已久的树莓派今天刚刚收到,则也在树莓派上面搭建git。同时这个过程略艰辛故记录之。

    十四君
  • Git示例教程 - 命令别名

    对于那些经常使用的,或者是特别复杂的Git命令,我们可以为其设置别名,这样在我们想要执行对应的Git命令时,只要执行这个别名命令就好了,简单方便。

    wangyuntao
  • 8个不常见但很有用的Git命令

    grain先森
  • Spring Boot中使用Actuator的/info端点输出Git版本信息

    对于Spring Boot的Actuator模块相信大家已经不陌生了,尤其对于其中的/health、/metrics等强大端点已经不陌生(如您还不了解Actua...

    程序猿DD

扫码关注云+社区

领取腾讯云代金券