架设Git服务器项目

通过比较发现需要CopSSH/Cygwin等环境的应用配置起来比较复杂,剩下的几个支持git smart http协议的web应用配置起来比较简单:

  1. Bonobo Git Server
  2. WebGit.NET
  3. Git-Web-Access
  4. scm-manager
  5. Gitblit
  6. Gitalist

最后再根据更新/稳定等因素筛选出Bonobo Git Server、scm-manager、Gitblit,结果最终选择了scm-manager。

配置scm-manager

在机器上安装java环境,从http://java.com/zh_CN/download/manual.jsp选择脱机版下载安装

https://bitbucket.org/sdorra/scm-manager/wiki/download下载最新的scm-server-1.24-app.zip

安装为系统服务:

1
scm-server.bat install

然后在系统服务里设置为自动启动,然后启动服务就可以通过http://localhost:8080访问了,默认用户名和密码都是scmadmin。

登进系统以后通过Repository Types修改Git中心库存放的路径。

修改默认的管理员用户名或者是其他的一些配置都可以找到%userprofile%\.scm\config目录下的相应xml配置文件来修改,注意要重启scm-server服务。

更新:低版本操作系统如server 2003可能会在C:\Documents and Settings\Default User\.scm这样的目录下,而不是当前用户文件夹

如果要启用邮件以及提醒,还需要安装插件scm-mail-plugin、 scm-notify-plugin,然后在设置中把Mail相关的SMTP设置填写好。

如果代码提交要跟Redmine关联,还需要安装插件scm-redmine-plugin,然后在项目信息里的Redmine选项卡配置Redmine地址为http://localhost:3000

如果要启用更新、自动关闭,还需要scm-manager和redmine使用同样的用户名密码,而且Redmine设置里必须启用REST API;

然后在提交的时候需要用git commit –m “(#问题ID) fix 修复内容”来关闭问题,可以用的关键字如fix,fixed等可以自行配置。

客户端安装

不管最终是使用那一种客户端(Git Extensions:http://code.google.com/p/gitextensions/或TortoiseGit:http://code.google.com/p/tortoisegit/),msysgit都是必须安装的:从http://msysgit.github.com/下载最新的Git-1.8.0-preview20121022.exe安装即可。

偏向使用命令行的只装msysgit就足够了;如果要使用图形界面可以选择msysgit自带的git gui,或者是另外安装git extensions或tortoisegit;个人感觉git extensions的图形界面比较强大,如果安装它的话一定要安装上KDiff3。

更便捷的就是与Visual Studio集成了,Git Extensions安装的时候可以选择安装Visual Studio插件集成;另外还有一个工具可以进一步提升便捷性Git Source Control Provider:http://gitscc.codeplex.com/,它依赖于msysgit和git extensions,可以在官方网站下载安装或者在visual studio扩展管理里面搜索git进行安装。

Git配置

Git客户端安装好之后最好配置一个全局的用户名及邮箱:

1
2
git config --global user.name "Your Name Here"
git config --global user.email your_email@youremail.com

这个配置在新建Repository时可能会用到;另外可以通过一下命令来查看配置:

1
git config --list

Git相关资料

  1. Pro Git 中文版:http://git-scm.com/book/zh http://progit.org/book/zh/ 有墙,用google随便找一个PDF版直接下载
  2. Git Community Book 中文版:http://gitbook.liuhui998.com/index.html
  3. Git Magic:http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/zh_cn/
  4. Git开发管理之道:http://blog.leezhong.com/translate/2010/10/30/a-successful-git-branch.html
  5. 如何高效利用GitHub:http://www.yangzhiping.com/tech/github.html
  6. 图解Git:http://marklodato.github.com/visual-git-guide/index-zh-cn.html
  7. 笔记《版本控制之道--使用Git》:http://www.nshen.net/sitelog/2011/08/03/git-note.html
  8. Git 故事连载:http://gitstory.wordpress.com/category/git/ Git Web Access作者写的(注意有墙)

另外还可以从Git Immersion一步一步演练:http://gitimmersion.com/lab_01.html

------EOF-----

架设Git服务器的更多相关文章

  1. centos 下git服务器搭建

    准备 CentOS Linux release 7.0.1406 (Core) ssh 22端口 http 80端口 本文主要是ssh协议支持,http协议配置后还有问题. 摘抄的一段说明 SSH 协 ...

  2. Windows下配置Git服务器和客户端 超全

    为了配合Redmine使用,特地用Git来做版本控制. Git Candy© 是一个基于ASP.NET MVC的Git分布式版本控制平台,Git Candy的目标是轻松干掉Bonobo,逐渐追赶Git ...

  3. git 服务器新建仓库 远程仓库

    Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费. 这时我们就需要自己搭建一台Git服务器作为私有仓库使用 ...

  4. Windows下配置Git服务器和客户端

    http://www.cnblogs.com/lwme/archive/2012/12/25/configuring-git-server-and-client-on-windows.html] 选择 ...

  5. Git服务器分类

    目录(?)[-] 服务器上的 Git 协议 本地协议 优点 缺点 SSH 协议 优点 缺点 Git 协议 优点 缺点 HTTPS 协议 优点 缺点 在服务器部署 Git 将纯目录转移到服务器 小型安装 ...

  6. Centos6架设GIT服务,windows客户端使用TortoiseGit加载KEYGEN连接GIT服务器

    前几天得空,想起前一阵学了GIT还没好好实践,就在虚拟机中安装测试了一下,并简单记录了CENTOS6中GIT安装,ssh-keygen生成,客户端使用TortoiseGit加载KEYGEN连接GIT服 ...

  7. 搭建通过 ssh 访问的 Git 服务器

    一.Git 协议 Git 可以使用四种主要的协议来传输数据:本地传输,ssh 协议,Git 协议和 HTTP 协议. Git 使用的传输协议中最常见的就是 ssh 了.大多数环境已经支持通过 ssh ...

  8. 使用Gitolite搭建轻量级的Git服务器

    By Harrison Feng在Git服务管理工具这个领域,主要有三种流行的方案,它们分别是 Gitosis - 轻量级, 开源项目,使用SSH公钥认证,只能做到库级的权限控制.目前项目已经停止开发 ...

  9. Git服务器、http协议及XCode

    本来费了老鼻子牛劲搭好了SVN,可以通过web进行访问,也弄好了eclipse和XCode,结果几个开发的同事说要上git,悲了个催,又开始折腾git. 因为公司只有一个公网的http出口,因此开始了 ...

随机推荐

  1. Clarke Award for Imagination in Service to Society刘慈欣演讲

    刘慈欣不无批评地写道(http://cn.chinadaily.com.cn/2018-11/12/content_37243853.htm): 科幻的想象力由克拉克的广阔和深远,变成赛博朋克的狭窄和 ...

  2. 等待页面元素(webdriverwait)

    前言 在脚本中加入太多的 sleep 后会影响脚本的执行速度,虽然 implicitly_wait ()这种方法隐式等待方法一定程度上节省了很多时间.但是一旦页面上某些 js 无法加载出来(其实界面元 ...

  3. div+css 让一个小div在另一个大div里面 垂直居中

    方法1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .parent {           width:800px;           height:500px;       ...

  4. 学习笔记之--认识Xcode中的重要成员:lldb调试器

    之前对lldb调试器了解比较少,平时主要用来打印日志和暂定时用鼠标查看属性数据以及使用p po一些简单的命令语句. 今天看了一些关于lldb的文章,顿时觉得之前对它了解太少了,原来它还有那么多的功能. ...

  5. java--多线程之后台线程

    public class ThreadDaemon { /** * @param args * 后台线程在主进程结束后,也会退出 */ public static void main(String[] ...

  6. .netCore2.0 WebApi 传递form表单

    随着it的技术发展,目前越来越多的项目采用前后端分离的开发模式,通过webapi提供接口数据来进行交互 最近项目用的是.netCore WebApi,在最近的项目使用中发现一些问题,进行记录.个人简介 ...

  7. JS 操作 HTML 和 AJAX 请求后台数据

    为某个元素插入值,添加属性,添加子元素 <div class="col-sm-6"> <select class="form-control" ...

  8. spring-boot之入门实践

    spring-boot是spring的一种微服务框架,spring-boot的出现是为了解决以往spring项目中xml文件繁琐的配置.具体介绍参考:http://docs.spring.io/spr ...

  9. Hibernate学习2--对象的三种状态以及映射关系的简单配置

    上篇hibernate的博客总体简单梳理了对象持久化的一些思想以及hibernate中对象持久化化的方法,下面说说对象持久化过程的三种状态. 一.hibernate缓存的概念 1.session与缓存 ...

  10. CSS实现响应式布局(自动拆分几列)

    1.css代码 <style type="text/css"> .container{ margin-top: 10px; } .outerDiv{ float:lef ...