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 ,如需转载请自行联系原作者



相关文章
|
1月前
|
Java 开发工具 Windows
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
|
1月前
|
安全 数据安全/隐私保护 Windows
解锁安全之门,Windows Server 2019密码修改攻略大揭秘
解锁安全之门,Windows Server 2019密码修改攻略大揭秘
|
1月前
|
存储 安全 网络安全
铁壁如墙-WINDOWS SERVER 2019勒索病毒终极防御指南
铁壁如墙-WINDOWS SERVER 2019勒索病毒终极防御指南
|
1月前
|
Unix 编译器 开发者
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
|
1月前
|
安全 数据安全/隐私保护 Windows
无远不至的掌控力:探索Windows Server 2019的远程访问绝招
无远不至的掌控力:探索Windows Server 2019的远程访问绝招
|
1月前
|
Windows
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
windows server 2019 安装NET Framework 3.5失败,提示:“安装一个或多个角色、角色服务或功能失败” 解决方案
|
1月前
|
存储 网络安全 数据安全/隐私保护
Windows Server 2019 IIS HTTPS证书部署流程详解
Windows Server 2019 IIS HTTPS证书部署流程详解
|
1月前
|
存储 Windows
windows server 2019 云服务器看不见硬盘的解决方案
windows server 2019 云服务器看不见硬盘的解决方案
|
1月前
|
数据安全/隐私保护 Windows
Windows Server 各版本搭建终端服务器实现远程访问(03~19)
左下角开始➡管理工具➡管理您的服务器,点击添加或删除角色点击下一步勾选自定义,点击下一步蒂埃涅吉终端服务器,点击下一步点击确定重新登录后点击确定点击开始➡管理工具➡计算机管理,展开本地用户和组,点击组可以发现有个组关门用来远程登录右键这个组点击属性,点击添加输入要添加的用户名,点击确定添加成功后点击确定打开另一台虚拟机(前提是在同一个局域网内),按 WIN + R 输入 mstsc 后回车输入 IP 地址后点击连接输入用户名及密码后点击确定连接成功!
32 0
|
1月前
|
Windows
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
Windows Server 各版本搭建 Web 服务器实现访问本地 Web 网站(03~19)
52 2