Windows下安装 msysGit 以及初始化 Git server环境

简介:

Windows下git工具msysGit使用以及Git server初始化

  Windows下git工具,这里选择msysGit,版本为msysGit-netinstall-1.8.1.2-preview20130201。因为Git本身是运行在Linux下的,所以要想在Windows环境下使用,必须构建一个与Linux一样的虚拟环境。msysgit是 Git 版本控制系统在 Windows 下的版本,msysGit  作为 Window 平台下的原生程序。所以每一个要连接Git server的windows客户端必须要在本地windows下安装msysGit。

  1、Windows下安装msysGit

  安装过程非常简单,确认安装选择盘符之后,会跳到如下开始初始化本地git环境:

  

  初始化过程完成之后,就会出现于linux一样的命令行,如下:

  

  如果安装完之后,命令行窗口没有跳出来,请到安装目录下点击msys.bat,如F:/msysGit/msys.bat。

 

  2、生成SSH Key

  在本地客户端通过命令行直接生产SSH Key,

  $ ssh-keygen -t rsa

  

  由于我这里已经生成了,所以这里提示这个密钥已经存在!此时会在~/.ssh/下生成两个密钥id_rsa,id_rsa.pub

  id_rsa,私钥

  id_rsa.pub 公钥,这个要保存Git server上,作为访问Git server的权限。

 

  3、初始化管理员,并启动Gitosis

  在windows客户端,将公钥传输到远程的Git server上,如下:

  

  通过命令在客户端上将公钥远程传输到线上

  $  scp ~/.ssh/id_rsa.pub git@server:/tmp

  此时在Git server的/tmp目录下应该就能看到这个公钥了。

  在Git server上操作如下:

  /tmp$ sudo chmod a+r ./id_rsa.pub  //先给这个公钥所有权限

  启动Gitosis命令,完成如下图:

  /tmp$ sudo -H -u git gitosis-init < /tmp/id_rsa.pub  

  

  启动Gitosis之后,初始化gitosis-admin.git库文件

  此时去/home/git/repositories下可以看到gitosis-admin.git库文件,在gitosis-admin.git下可以看到相关内容如下:

  

  权限控制在gitosis.conf,公钥SSH Key文件放在/home/git/repositories/gitosis-admin.git/gitosis-export/keydir下,以后所有的客户端用户的公钥都放在这个文件下

  另外,给/home/git/repositories/gitosis-admin.git/hooks/post-update权限,如下:

  $ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

  到此管理员初始化完成,Git Server配置完成

 

  4、从Git server上clone版本库到本地

  接下来就是在客户端远程访问版本库,在windows下开启msysGit,进入命令窗口

  加入想把版本库存在本地f盘,如下:

  $ cd /f

  $ git clone git@192.168.10.49:gitosis-admin.git  //在本地f盘下可以看到gitosis-admin文件目录

  

  如上显示,表示clone完成!

  

  5、测试

  在Git server上新建一个版本库如下:

  $ su git

  $ mkdir /home/git/repositories/hello.git

  $ sudo chown -R git:git /home/git/repositories/hello.git

  $ cd /home/git/repositories/hello.git

  $ git --bare init

  切换root用户操作

  cat /home/git/repositories/gitosis-admin.git/gitosis.conf

  新增访问版本hello的权限,编辑gitosis.conf文件,修改如下:  

  [gitosis]

  [group gitosis-admin]
members = Administrator@CANDLE-PC
writable = gitosis-admin

  [group developers]
members = Administrator@CANDLE-PC
writable = hello

  初始化完成hello版本库。然后通过windows客户端msysGit进行clone,并提交文件如下:

  git clone git@192.168.10.49:hello.git

  完成版本clone。

  测试提交文件,如下: 

  【第一次提交】 

  git add a.txt
git commit -a -m 'add a.txt'  //第一次提交时,因为当前是一个空项目,commit后面跟一个参数-a,git commit -a 提交当前repos的所有的改变,否则会在git push origin master时报错
git push origin master

  【第二次提交】commit不需要加参数-a

   git add a.txt

  git commit -m 'add a.txt'

  git push origin master

 

  6、问题

  A、clone的时候,报错:ERROR:gitosis.serve.main:Repository read access denied

  解决方案:<1>可能是git的权限配置文件members = Administrator@CANDLE-PC,与/home/git/repositories/gitosis-admin.git/gitosis-export/keydir/Administrator@CANDLE-PC.pub这名字不一致,改成一致即可。

       <2>git clone路径问题,通常我们都是采用全路径,git clone git@192.168.1.100:/home/git/repositories/hello.git,这里访问可能报上名的错误,换成这样,直接访问库文件目录git clone git@192.168.1.100:hello.git 即可!

  B、执行 git push origin master的时候,报错

  error: src refspec master does not match any.

  error: failed to push some refs to 'git@192.168.1.100:hello.git'

  解决方案:第一次提交时,因为当前是一个空项目,commit后面跟一个参数-a,git commit -a 提交当前repos的所有的改变

  【第一次提交】 

  git add a.txt
git commit -a -m 'add a.txt'  //第一次提交时,因为当前是一个空项目,commit后面跟一个参数-a,git commit -a 提交当前repos的所有的改变,否则会在git push origin master时报错
git push origin master

 

  

  

  

  









本文转自一米一阳光博客园博客,原文链接:http://www.cnblogs.com/candle806/p/4065052.html ,如需转载请自行联系原作者



相关文章
|
2天前
|
存储 Shell 开发工具
Git和TortoiseGit的安装与使用
Git和TortoiseGit的结合使用,可以大大提高版本控制的效率和便捷性。通过本文的步骤,您可以轻松安装和配置Git及TortoiseGit,并掌握基本的版本控制操作。
114 82
|
4天前
|
安全 网络安全 数据安全/隐私保护
Windows Server 2025 Active Directory 重置用户密码
密码重置是管理员日常任务之一,用户因忘记或多次输错密码导致账户锁定时需进行重置。本文介绍在Active Directory服务器上重置密码的三种方法。
|
1月前
|
存储 Cloud Native Java
Windows下Minio的安装以及基本使用
MinIO 是一个开源的云原生分布式对象存储系统,兼容亚马逊S3接口,适合存储大容量非结构化数据。本文介绍Windows下MinIO的安装与基本使用:通过以上步骤,您可以在Windows环境中成功安装并使用MinIO。
168 17
|
2月前
|
关系型数据库 MySQL 数据库
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
|
2月前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
252 9
|
2月前
|
机器学习/深度学习 并行计算 异构计算
WINDOWS安装eiseg遇到的问题和解决方法
通过本文的详细步骤和问题解决方法,希望能帮助你顺利在 Windows 系统上安装和运行 EISeg。
134 2
|
3月前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
226 4
|
Linux 网络安全 开发工具
百度搜索:蓝易云【Git安装 + 多站点SSH Key配置教程。】
现在,你已经成功安装了Git,并配置了多站点的SSH Key。你可以使用Git命令进行版本控制,并通过SSH Key进行身份验证来访问不同的Git仓库。
186 0
|
存储 Ubuntu Linux
Git的安装以及本地仓库的创建和配置
Git是一个分布式版本控制系统,用于跟踪和管理文件的更改。它可以记录和存储代码的所有历史版本,并可以方便地进行分支管理、合并代码和协作开发。
|
9月前
|
Ubuntu Linux 网络安全
Git on Ubuntu 22.04: 终极安装与配置指南
【4月更文挑战第21天】
2603 0
Git on Ubuntu 22.04: 终极安装与配置指南