Linux服务器配置之Git服务器搭建步骤:
一、配置环境
1、服务器:CentOS 8.2(64位) + Git (version 2.27.0)
2、客户端:Windows 10 (64位) + Git(version 2.38.1.windows.1)
3、服务器连接软件:Xshell 7
二、配置步骤
1、安装git 服务端
Linux作为服务器端系统,Windows作为客户端系统,分别安装Git
服务器端
[admin@ceontOS ~]$ su root #切换到root用户名
Password: #输入root用户的密码
[root@ceontOS ~]# yum install -y git #执行该命令进行Git安装
安装完后,查看Git版本
[root@ceontOS ~]# git --version
git version 2.27.0
客户端:
下载 Git for Windows,地址:https://git-for-windows.github.io/
安装完之后,可以使用 Git Bash 作为命令行客户端。
安装完之后,查看 Git 版本
$ git --version
git version 2.38.1.windows.1
2、服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码
[root@ceontOS ~]# cd /home #进入/home/目录[root@ceontOS home]# id git #查看git用户是否存在id: git: no such user #提示git用户不存在[root@ceontOS home]# useradd git #创建git用户[root@ceontOS home]# passwd git #为git用户创建密码Changing password for user git.New password: #设置密码BAD PASSWORD: The password is shorter than 8 charactersRetype new password: #确认密码passwd: all authentication tokens updated successfully.
3、服务器端创建 Git 仓库
设置 mkdir -p /home/git/dataCollect.git 为 Git 仓库
[root@ceontOS home]#mkdir -p /home/git/dataCollect.git #在git用户目录下创建仓库目录git,并且创建dataCollect.git项目目录注: dataCollect.git为仓库名
[root@ceontOS home]# ls #查看/home/目录下有哪些用户目录
admin git
[root@ceontOS home]# cd git #进入git用户目录
[root@ceontOS git]# ls #查看git用户目录下有哪些目录/文件
dataCollect.git[root@ceontOS git ]# git init --bare /home/git/dataCollect.git #这步很重要,初始化项目测试目录Initialized empty Git repository in /home/git/fenlin88l.git/然后把 Git 仓库的 owner 修改为 git[root@ceontOS git]# ll #查看项目文件夹的拥有者
drwxr-xr-x 3 root root 4096 Jan 13 13:08 dataCollect.git #拥有者是root用户名[root@ceontOS git]# chown -R git:git dataCollect.git #将拥有者改为git用户[root@ceontOS git]# ll #再次查看dataCollect.git项目文件夹的拥有者
drwxr-xr-x 7 root root 4096 Nov 25 08:32 dataCollect.git #拥有者是git用户
4、客户端 clone 远程仓库
先在本地Windows系统上创建一个存放git项目的文件夹,例如我的设置在:【D:\git\dataCollect】
此处通过Git Bash来创建的,当然也可以手动创建该目录,然后进入该目录,启动Git Bash
#在桌面打开的git bash
$ cd d: #进入D盘
$ mkdir git #创建git文件夹
$ git clone git@服务器公网IP地址:/home/git/dataCollect.git #IP地址后面跟冒号,冒号后面是刚才初始化的项目文件夹的绝对路径
此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。
【说明】如果你的服务器没有配置SSH连接,那么按照正常情况会让你输入git用户的密码,输入正确后就能进行项目克隆了。
如果不采用 SSH 公钥来进行验证,则每次都要输入密码,很麻烦,下面就来配置SSH公钥验证的方式来clone项目
问题:如果不配置ssh公钥使用git远程仓库会怎么样,会出现以下:
5、客户端创建 SSH 公钥和私钥
参考:(102条消息) windows免密码登陆linux服务器_glory8901的博客-CSDN博客
6、禁止 git 用户 ssh 登录服务器
之前在服务器端创建的 git 用户不允许 ssh 登录服务器
编辑 /etc/passwd
[admin@ceontOS ~]$ su root #切换到root用户
Password:
[root@ceontOS admin]# sudo vi /etc/passwd #编辑/etc/passwd文件
找到:
git:x:1001:1001::/home/git:/bin/bash
修改为:
git:x:1001:1001::/home/git:/bin/git-shell
此时 git 用户可以正常通过 ssh 使用 git,但无法通过 ssh 登录系统。
7.Windows下客户端操作
具体如何建立本地仓库,并且上传可以参考如下文章:
(1) git 使用命令行来push的方法
(102条消息) GIT代码管理: git remote add_三轮车的视觉进阶_的博客-CSDN博客
(2)使用pycharm来连接git远程仓库,并push
pycharm连接远程仓库,提交代码 - 暖心向太阳。 - 博客园 (cnblogs.com)
8. 删除git文件,包括已经提交到本地库中的文件
(102条消息) Git:移除文件----git rm命令的使用_Samven_7的博客-CSDN博客_git 删除文件