CentOS7虚拟机配置git仓库(配置虚拟机,网络,git仓库,windows端git访问)
想要达成的目的:从windows使用git访问CentOS7服务器上搭建的git仓库
用到的软件:
(1)VMware-workstation-full-15.5.0-14665864.exe
(2)CentOS7镜像:CentOS-7-x86_64-DVD-2009.iso
(3)Git-2.35.1.2-64-bit.exe,windows下的git,可从这个网址下载:https://git-scm.com/download/win
(4)TortoiseGit-2.13.0.1-64bit.msi和TortoiseGit-LanguagePack-2.13.0.0-64bit-zh_CN.msi, windows端的git界面操作工具
(5)git-2.35.1.tar.gz, 用于更新CentOS7里的git版本到最新版本,可到“https://mirrors.edge.kernel.org/pub/software/scm/git/”下载
一、安装VMware
基本上就“下一步”就可以了
二、安装CentOS7
1、打开VMware的“文件”--“新建虚拟机”,选择”自定义”。当然你也可以选择“典型”(这样不需要自己配置一些东西,采用其默认的就行)

2、“安装程序光盘映像文件(iso)”选择自己电脑目录下的“CentOS-7-x86_64-DVD-2009.iso”

3、选择CentOS7安装好后放置的路径

4、根据自己主机的处理器配置进行选择

5、根据自己主机的配置选择内存大小

6、网络选择“桥接”

7、磁盘大小根据自己需要选择,默认是20G

8、其他没有特殊说明的,采用默认的配置即可。
9、配置之后,开始安装,推荐“Test this media & install CentOS7”

10、 等待一会安装,选择“中文”

11、之前上边蹦出的是语言选择,上边点击“继续”之后进入此界面,将画红框的配置一下

12、我选择的是“开发及生成工作站”,并把右边的附加选项都选上,就是不管用不用的着,先安上

13、“安装目标位置”点击“本地标准磁盘”就行

14、上边配置完后“开始安装”才能点击

15、安装过程中要等一会,在这过程中可以配置root密码和创建用户

16、安装完成重启

17、点进去接收许可

18、根据向导进行配置完即可

三、配置CentOS7网络
1、在安装CentOS7的时候已经将网络选择为桥接,如果没选可从下图进行设置

2、VMware菜单栏->编辑->虚拟网络编辑器

3、在虚拟机里的终端切换到root权限,修改文件“/etc/sysconfig/network-scripts/ifcfg-ens33”,将ip设置为静态ip,不然虚拟机每次启动可能ip会变

原始文件
修改后文件:

4、虚拟机里重启网络服务“service network restart ”

5、然后ping一下自己宿主机的ip和其他同事ip,是否能ping通
6、通过自己宿主机和同事电脑ping一下虚拟机ip,是否都能ping通。
四、在CentOS7虚拟机里安装git
1、可到https://mirrors.edge.kernel.org/pub/software/scm/git/网站下载最新版本,我下载的是git-2.35.1.tar.gz
2、查看原系统是否安装git,rpm -qa git

3、切换root用户删除原有的git,yum remove git

删除完成

4、通过虚拟机创建共享目录,把下载的git的最新压缩包放到共享目录下
5、创建“/usr/local/git”目录,并把共享目录下的git包拷贝到此目录下

6、解压git压缩包, “tar -zxvf git-2.35.1.tar.gz ”

7、进入git解压后的目录开始进行编译操作,并指定git安装路径, “make prefix=/usr/local/git all”

8、当git源码编译操作完成后,执行安装操作,“make prefix=/usr/local/git install”

9、安装完git服务后,配置环境变量“vim /etc/profile”添加如下代码
GIT_HOME=/usr/local/git
PATH=$PATH:$GIT_HOME/bin

10、配置完成后,使用命令重载配置文件, “source /etc/profile”

11、验证git版本号“git --version“

12、创建链接
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack

五、CentOS7建立git仓库
1、创建CentOS7的一个用户组,用户名,用户密码,用户组取名为git,用户名取名为git,密码也是git

2、在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,


我们将在git用户目录下创建.ssh目录和authorized_keys 文件,公钥存放在 .ssh/authorized_keys 文件中
3、在/home/git/目录下创建.ssh目录,并在.ssh目录下创建authorized_keys 文件,并修改他们的权限

4、在windows下使用git生成公钥,并将公钥放到CentOS7的/home/git/.ssh/authorized_keys文件中,每个公钥单独占一行
(1)在windows下安装Git-2.35.1.2-64-bit.exe,采用默认的安装即可
(2)在windows任意目录下点击右键,选中“Git Bash Here”,按照格式ssh-keygen -t rsa -C "youremail@qq.com"输入命令,邮箱你可以任意起名字,例如我取名为"lifengjuan@qq.com"
在下列需要输入内容的地方直接按回车即可

(3)找到生成的公钥,我的是在“C:\Users\Administrator\.ssh”目录下,“id_rsa.pub”文件里存放的是公钥,“id_rsa”是私钥,使用notepad打开id_rsa.pub文件复制里边的内容,然后粘贴到CentOS7的/home/git/.ssh/authorized_keys文件中

5、在CentOS7上创建仓库,我们在/home/git/目录下创建仓库“git init --bare test.git”
如果是用root创建的,记得给仓库赋予git用户权限,“chown -R git:git test.git”

六、 windows下通过git bash访问git仓库
1、在windows到想要存放项目的目录下,右键选中“Git Bash Here”,输入
git config --global user.name "lifengjuan" 这里用户名随便起
git config --global user.email "lifengjuan@qq.com" 这里邮箱是之前创建公钥时使用的邮箱

git clone git@192.168.8.3:/home/git/test.git

“git@192.168.8.3's password:”需要输入的密码是CentOS7的git用户的密码git

windows下clone完仓库后,就可以使用git操作仓库了,(在我的宿主机windows下操作git,每次都要输入密码,但是在其他同事的机器上并不需要!!!!不知道什么原因??????????????)


七、windows下TortoiseGit访问git仓库
在windows下想要放置项目的目录下,右键,选择“Git 克隆”,之后就可以按照TortoiseGit的方式进行操作仓库,但是这里每次操作都要输入CentOS7的用户git的密码


解决TortoiseGit操作每次都要输入密码的问题:(这个解决方案并没有解决在我的宿主机windows下操作TortoiseGit每次都要输入密码的问题,但是在其他同事的机器是可以解决的!!!!不知道什么原因??????????????)
(1)在TortoiseGit工具里找到PuTTYgen

(2)点击“load”

(3)选中之前生成的私钥

(4)点击“Save private key”

(5)保存为“id_rsa.ppk”

(6)打开TortoiseGit的设置

(7)加载秘钥

CentOS7虚拟机配置git仓库(配置虚拟机,网络,git仓库,windows端git访问)的更多相关文章
- 在windows端和linux端安装Git
一.Git的安装 1. 在windows端 到地址:https://git-scm.com/downloads 选择对应版本下载后,进行傻瓜式安装即可 2. 在linux端 查看是否安装了git,出 ...
- Git初步配置 ubuntu服务器 windows客户端 虚拟机
最近自己配置了一下Git,虽然网上相关的内容满天飞(ps:大多都差不多,很多都是直接转载,说的也比较乱),但是我还是碰到了很多问题,这里我就把我配置的步骤分享一下,遇到的问题也说一下,新手之间相互学习 ...
- centos7命令行模式安装&&配置_br0+kvm+虚拟机+添加硬盘+快照及恢复
KVM创建虚拟机步骤 Submitted by zhaoley on October 18, 2016 - 10:43am 测试环境: 1: 43.243.130.89, CentOS Linux r ...
- VMware Linux虚拟机与WIN7操作系统共享无线网络上网配置
Linux虚拟机与WIN7操作系统共享无线网络上网配置 by:授客 QQ:1033553122 测试环境: CentOS-7-x86_64-DVD-1503-01.iso Vmware 9 实践操作: ...
- SecureCRT连接虚拟机(ubuntu)配置
使用SecureCRT连接虚拟机(ubuntu)配置记录 这种配置方法,可以非常方便的操作虚拟机里的Linux系统,且让VMware在后台运行,因为有时候我直接在虚拟机里操作会稍微卡顿,或者切换速 ...
- Linux:Vmware安装linux虚拟机,桥接方式配置静态IP后重启网卡,提示:Error,some other host already uses address 10.252.252.21...
问题: Vmware安装linux虚拟机,桥接方式配置静态IP后重启网卡,提示:Error,some other host already uses address 10.252.252.21... ...
- 配置SecureCRT连接本地虚拟机中的Linux系统
转自:http://www.pythoner.com/196.html 由于平时公司开发时都是使用SecureCRT连接的Linux服务器,所以也想使用SecureCRT在自己电脑上连接本地虚拟机中的 ...
- KVM 虚拟机命令行安装配置
KVM作为linux内核的一部分,有着无法比拟的优势,相信KVM的大范围企业应用指日可待. 一.KVM宿主服务器环境配置 1. 查看CPU是否支持VT技术 cat /proc/cpuinfo | eg ...
- Android Studio 使用笔记:Git 的配置和第一次提交到仓库
Git客户端网址:http://git-scm.com/download/ 根据自己的使用平台下载对应的客户端.这里以Mac系统为例,当客户端软件安装配置完毕后,打开AS的配置面板,找到Git的选项 ...
随机推荐
- 基于EasyExcel实现的分页数据下载封装
功能概述 主要实现的功能: 1.分页查询,避免一次性查询全部数据加载到内存引起频繁FULL GC甚至OOM 2.当数据量超过单个工作簿最大行数(1048575)时,自动将数据写入新的工作簿 3.支持百 ...
- java-循环的应用环境以及数组的创建
1.三种循环结构的更佳适用情况: 1)while:"当..."循环 2)do...while:"直到..."循环 要素1与要素3相同时首选do...while ...
- Excelize 2.3.2 发布,Go 语言 Excel 文档基础库,2021 年首个更新
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...
- Python小游戏——外星人入侵(保姆级教程)第一章 07调整飞船速度 08限制飞船活动范围
系列文章目录 第一章:武装飞船 07调整飞船速度 08限制飞船活动范围 一.代码及演示 1.修改settings 修改文件:settings.py 点击查看代码 #渗透小红帽python的学习之路 # ...
- 【JAVA】学习路径64-补充-编写一个会抛异常的方法
有一些方法,在调用的时候有可能会出错,所以我们使用这些方法的时候会使用try catch. 比如InputStream里面的read()方法等等,那么这些方法是怎么实现抛异常的效果的呢? 能抛异常的方 ...
- 057_末晨曦Vue技术_处理边界情况之强制更新和创建低开销的静态组件
强制更新和创建低开销的静态组件 点击打开视频讲解更加详细 强制更新 如果你发现你自己需要在 Vue 中做一次强制更新,99.9% 的情况,是你在某个地方做错了事. 你可能还没有留意到数组或对象的变更检 ...
- Linux有趣命令
通外网 下载使用阿里云镜像源:wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.re ...
- 【题解笔记】PTA基础6-10:阶乘计算升级版
题目地址:https://pintia.cn/problem-sets/14/problems/742 前言 咱目前还只能说是个小白,写题解是为了后面自己能够回顾.如果有哪些写错的/能优化的地方,也请 ...
- C++ 二级指针与 const 关键字
可用七种不同的方式将 const 关键字用于二级指针,如下所示: //方式一:所指一级指针指向的数据为常量,以下几种为等效表示 const int ** pptc; //方式一 int const * ...
- TortoiseSVN 执行清理( cleanUp )失败的解决方案
TortoiseSVN 执行清理( cleanUp )失败的解决方案 今天碰到了一个比较棘手的问题,在这里做一下记录,以方便自己和有需要的朋友在之后碰到该类问题时有个参考. 现象 更新SVN时弹出清理 ...