linux搭建git服务器,windows客户端配置git

news2025/8/9 5:45:47

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 characters

Retype 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 删除文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/34146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于深度学习的AI绘画为何突然一下子火了?

CLIP |Midjourney | dreamstudio AIGC | Stable Diffusion | Imagen 随着Disco、Midjourney、dreamstudio 、AIGC、Stable Diffusion、Imagen、深度学习、高性能计算、数据分析、数据挖掘等技术的快速发展,AI绘画技术得到迅速发展。 即使今年年初的AI绘…

Redis String类型使用方法

String 类型 String 类型,也就是字符串类型,是Redis中最简单的存储类型。 其value是字符串,不过根据字符串的格式不同,又可以分为3类: string:普通字符串int:整数类型,可以做自增、…

国际站、速卖通、Lazada店铺运营技巧?如何提升销量?

现在国际站、速卖通、Lazada平台开店的卖家越来越多,如何让店铺稳定的使用下去,是每一个卖家都需要思考的问题。现在我们一起来看一看,有哪些运营上需要注意的事项。 1选择产品 不管什么平台都是一样,产品是根本,只有…

Handler 原理

线程的应用场景 Android是单线程模型,Activity、Service、Broadcast等组件的创建,都是在主线程完成的,即UI线程。但如果需要执行一些耗时的操作时,比如:I/O的读写、大文件的读写、数据库操作以及网络上传和下载等操作都…

Linux登陆配置虚拟机

启用虚拟机一、启动虚拟机1、登录虚拟机2、查看IP地址3、能否PING通外网二、配置静态IP地址1、修改网卡配置文件2、重启网络服务3、重启虚拟机4、查看修改后的IP地址5、测试虚拟机能否Ping通外网三、测试宿主机与虚拟机能否相互Ping通1、测试宿主机能否Ping通虚拟机2、测试虚拟…

信创产业多点开花,AntDB数据库积极参与行业标准研制,协同价值链伙伴共促新发展

11月,AntDB数据库积极参与多项数据库行业标准研讨会,助推行业规范建立;凭借领先的技术研发能力与企业创新能力,在今年9月入选了《2022爱分析数据智能厂商全景报告》,此次又凭借在信创市场的深入推广,入选《…

反转链表问题的递归解法

目录 一、反转整个链表 二、反转部分链表 一、反转整个链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 首先在方法中我们需要判断递归终止的情况,如果headnull或者head.nextnull,那么我们就可以直接返回hea…

【快速上手系列】保姆级Layuimini与SSM的联合使用教程(数据表格操作)

【快速上手系列】保姆级Layuimini与SSM的联合使用教程(数据表格操作) 使用步骤 导入layuimini 下载layuimini文件 这个并不是直接运行的,需要用HBuilder导入 layuimini的项目路径 我用的是iframe版,个人更喜欢这种的&#x1…

Git -- submoudule子模块使用

文章目录子模块的作用添加子模块拉取带子模块的项目修改子模块代码子模块的作用 通常情况下,我们做项目时会有几个业务功能区分比较明确的模块,比如简单来说,一个项目我们可以分为认证授权模块、工具类模块、常规业务模块。 而像认证…

【外卖项目实战开发一】

文章目录1、软件开发整体介绍2、外卖项目介绍3、环境搭建数据库环境搭建创建数据库执行SQL脚本数据表maven项目搭建添加依赖:application.yml配置application启动类4、后台登录功能开发需求分析代码开发5、后台退出功能开发1、软件开发整体介绍 软件开发流程 角色分工 软件…

基于JAVA的企业人力人事资源管理系统OA,部门、人员、薪资、招聘功能齐全的项目【数据库设计、源码、开题报告】

数据库脚本下载地址: https://download.csdn.net/download/itrjxxs_com/86427647 摘要 随着知识经济的崛起,掌握了高新技术和具有现代管理理念的人已成为经济发展的原动力。一个企业要在市场竞争中取得优势地位,依靠的主要不是物质资源&…

FCPX插件:Stupid Raisins Title Pop (78个动画标题+2个额外背景)

fcpx插件:Stupid RAIsins Title Pop for Mac激活版是兼容Final Cut Pro x的一款动画标题字幕插件。Stupid RAIsins Title Pop mac版包含78个fcpx动画标题2个额外背景,可以快速拖放编辑,使用基本,连续,充满活力&#xf…

电容笔做的比较好的品牌有哪些?高性价比电容笔测评

现在,高技术在推动数字产品的发展,同时也在增加。不管是工作还是学习,大屏幕可以使图像更加清晰。无论现在或将来,平板电脑都将成为我们日常生活中不可或缺的一部分。一款简单易用的电容笔,能够极大地提高我们的工作效…

7.9 用户接口

目录 一 序言 二 应用层实现 三 内核层实现 一 序言 这一部分,我们简单介绍一下用户接口。从本质上讲,操作系统就是对计算机硬件资源进行一个封装,从而方便用户来使用。前面几部分,我们重点介绍了操作系统自身的一些功能&#…

SpringBoot SpringBoot 原理篇 1 自动配置 1.5 proxyBeanMethod

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.5 proxyBeanMethod1.5.1 ImportResource1.5.2 proxyBeanMethod1 …

Qt使用QAudioInput、QAudioOutput实现局域网的音频通话

本文旨在介绍一下用Qt来实现局域网音频通话功能 技术实现 QAudioInput、QAudioOutput(Qt采集和播放音频类) QUdpSocket(Qt的UDP通信类) 话不多说,直接上代码链接,想下载的朋友可以直接去gitee下载。 整体…

项目管理范围(上)

范围管理概述 产品范围与项目范围的区别: 产品范围是指产品或者服务所应该包含的功能,项目范围是指为了能够交付产品,项目所必须做的工作。 什么是WBS? 工作分解结构(简称WBS, Work Breakdown Structure…

科学孕育:婴幼儿食物过敏怎么办?

近年来,食物过敏的发病率呈明显上升趋势,已成为危害儿童健康的全球性问题。据统计,我国儿童食物过敏的发病率为3%~10%[1]。其中,0~4岁婴幼儿和学龄前儿童食物过敏的发病率最高。婴儿过敏反复发生.具有湿疹和食物过敏史的婴儿易患哮…

热门Java IDE——MyEclipse的数据库和持久化支持

MyEclipse支持开发者使用Java EE、Spring、JPA、Hibernate和POJOs快速开发以数据库为中心的应用程序,通过使用JDBC标准和嵌入式Derby数据库的数十个数据库的连接器,开发人员可以快速启动并运行。从持久性到逆向工程,再到可视化ER模型&#xf…

JS if else语句详解

在正常情况下,JavaScript 脚本是按顺序从上到下执行的,这种结构被称为顺序结构。如果使用 if、else/if 或 switch 语句,可以改变这种流程顺序,让代码根据条件选择执行的方向,这种结构被称为分支结构。 if语句 if 语句…