Git-gitblit-Tortoisegit 搭建Windows Git本地服务器
1、Gitblit安装
1.1、Gitblit简介
Git在版本控制领域可谓是深受程序员喜爱。对于开源的项目,可以免费托管到GitHub上面,相当的方便。但是私有项目托管到GitHub会收取相当昂贵的一笔费用。还有些企业、单位开发在局域网内,那么如何使用Git进行代码版本控制呢?我们可以在本地搭建自己的Git服务器。Linux上搭建Git服务器相当的方便,网上资料也很多,具体可以参考廖雪峰的官方网站-Git教程-安装Git,讲的很到位,有兴趣可以学习学习。那么Windows下怎么搭建Git服务器呢?通过比较,发现Gitblit可以很方便在Win平台上搭建起Git服务。Gitblit是一个开源的git服务器java实现,所以使用的前提是安装好Java运行时环境。
1.2、安装环境
软件:jdk 1.8.0_65、Gitblit1.8.0
操作系统:win 10 家庭版
1.3、安装步骤
第一步:下载Java并安装Java,我用的是jdk 1.8.0_65。
第二步:配置Java环境变量。
右键计算机,选择 属性>高级>系统设置>高级>环境变量>系统变量。
1、新建:变量名:JAVA_HOME;变量值:C:\Program Files\Java\jdk1.8.0_65(具体要根据你自己的安装路径,我的是安装在C盘的)
2、新建:变量名:CLASSPATH;变量值:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
3、添加:找到PATH变量,选择编辑。把%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin添加到”变量值”的结尾处。
第三步:验证Java是否安装成功。
输入指令打开命令行窗口:
ctrl + R
cmd
在命令行窗口中,输入javac,回车,如果出现下面信息,说明安装成功。
第四步:下载安装Gitblit,下载地址http://www.gitblit.com/

点击直接下载,下载完成后,直接解压即可,无需安装,我的解压路径为:C:\jstao\soft\itPackage\gitblit-1.8.0

第五步:配置Gitblit。
1、首先创建一个用于存储项目代码的文件夹。我这里创建的文件夹是C:\jstao\workspace\gitblitWorkspace
2、进入解压后的目录,进入data文件夹。打开defaults.properties文件。
3、定位到git.repositoriesFolder,赋值为C:\jstao\workspace\gitblitWorkspace

4、继续定位到server.httpPort,配置http协议端口号,默认0标识禁用http协议,这里赋值为10010

5、定位到server.httpBindInterface,配置服务器的IP地址

6、定位到server.httpsBindInterface,赋值为localhost

7、保存,关闭文件。
8、切换到解压目录,双击运行gitblit.cmd批处理文件。成功运行,如图所示:

9、服务成功运行后,测试以下。在浏览器中输入IP地址:http://127.0.0.1:10010/ ,默认用户名以及密码都是admin,登录后可以修改,建议修改。能正常访问说明部署成功。

10、每次启动Git服务都要去双击以下gitblit.cmd批处理文件,是不是很烦人,有没有开机自动启动服务的操作?当然有!来看一下配置步骤。
11、切换到解压目录,打开installService.cmd文件进行配置。找到ARCH赋值为amd64(64位OS,32位为X86)
12、在ARCH行下,新添加一行,CD的赋值路径为解压路径(注意CD后面没有空格):
SET CD=C:\jstao\soft\itPackage\gitblit-1.8.0
13、将启动参数设置为空值,即--StartParams="" ^

最后,选中installService.cmd批处理文件,以管理员方式打开即可。
若没有提示异常,到Windows“服务”组件里就可以找到“gitblit”这个服务了。接着把这个服务启动类型设为“自动”,以后该服务就会自动启动了。

1.4、创建版本库
第一步:输打开浏览器入IP地址,初始用户名admin、密码admin登陆gitblit(密码可以修改,建议修改)
第二步:点击创建版本库。

第三步:输入名称,描述。其他值默认就好,可以根据项目需求更改。

第四步:成功创建空版本库,看到一些官方小提示。用户可以根据提示向仓库推送内容。

第五步、创建用户
一般来说,不推荐使用管理员账户admin作推送,常规操作是,在用户端(客户端)推送内容到仓库。管理员账户admin只负责管理服务器站点,不涉及实际业务内容。包括创建版本库操作,后面都可以授权用户执行。下面新建用户操作。
5.1、admin登陆,点击下拉菜单中的用户

5.2、点击右上角的“添加用户”,进入添加用户页面。

常规填写完毕,属性标签页可以根据实际情况填写,可选。
5.3、访问权限页填写,配置版本库权限。
5.3.1、选择版本库,选择logit.git
5.3.2、赋予具体权限,R(克隆)一般赋予测试人选,RW(推送)、RWC(推送,创建ref)、RWD(推送,创建删除ref)、RW+一般赋予开发人员,选好之后,按添加按钮
5.3.3、最后,选择保存,创建成功
5.3.4、这里我创建了三个用户,libai为测试人员,dufu,baijuyi为开发人员


2、客户端Git安装
2.1、自行下载安装Git客户端
Git下载地址:https://git-for-windows.github.io/
2.2、配置git客户端
git本地用户配置,任意地方,右键打开Git Bash终端,输入命令行配置Git
$ git config --global user.name "jstao"
$ git config --global user.email "******@163.com"
演示,从本地向仓库推送一个新文件。
$ mkdir logitProject 新建一个文件夹logitProject
$ cd logitProject/ 进入到该文件夹
$ touch README.md 新建一个文件

$ git init
$ git add README.md
$ git commit -m "logit Project first commit."
$ git remote add origin ssh://logit@127.0.0.1:29418/logit.git
$ git push -u origin master (在此需要输入密码,回车)

如图显示,本地向仓库推送成功。
接下来可以到网页端验证以下。如图所示,刷新浏览器可以看到

可以看到已经提交到了远程仓库。
2.3、免密码克隆(推送)操作
可以看到在推送的时候需要输入密码,每次推送都要输入密码。有没有一种操作,可以使得频繁的推送不需要密码呢?当然有,看一下怎么操作,主要操作就是客户端命令行创建SSH Key,通过以下命令:
$ ssh-keygen -t rsa -C "youremail@example.com"
然后到用户主目录下找到.ssh文件夹,下面生成了id_rsa和id_rsa.pub这两个文件,将pub文件中的内容复制,上传到Gitblit站点自己账户的->用户中心->ssh,添加成功,则以后操作通过ssh://协议操作,则可以不用密码。

2.4、在IDEA中使用Git
打开IDEA File->Setting (或者使用快加建ctrl+alt+s)
将git.exe配置到IDEA

配置完成,测试一下看看。点击Test

显示测试成功,可以开始拉项目了

跟着一步步操作就可以将项目拉到本地,可以进行正常开发了。
3、Tortoisegit安装使用
上面已经够用了,但是,一般情况下我们装个Git客户端Tortoisegit,更加方便我们的开发。
3.1、安装Tortoisegit
安装TortoiseGit-2.6.0.0-64bit.msi
安装TortoiseGit-LanguagePack-2.6.0.0-64bit-zh_CN.ms
Tortoisegit及语言包下载地址:http://tortoisegit.org/download/
注:Tortoisegit是Git的一个插件,Git程序本身还是要安装的,我们上面已经装好了。
3.2、使用Tortoisegit
右键Git克隆可以将远程仓库项目,克隆到本地。
完成开发后,可以提交到远程仓库。
Git-gitblit-Tortoisegit 搭建Windows Git本地服务器的更多相关文章
- 使用Gitblit 搭建Windows Git服务器
使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...
- Git学习笔记(windows git之初体验)
阿里国内镜像地址: https://npm.taobao.org/mirrors/git-for-windows/ 最近在学习廖雪峰老师关于git的教程,链接可以在我的首页找到.首先使用国内镜像下载并 ...
- Git学习环境搭建和git对用户的增删改查命令
git安装 windows下安装git git下载进入网址: https://git-scm.com/downloads 点击下载,进行安装,安装成功,你会看到图标,点击进入到git bash 查看g ...
- Git客户端TortoiseGit(Windows系统)的使用方法
本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.8.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...
- 【日记】搭建一个node本地服务器
用node搭建一个本地http服务器.首先了解htpp服务器原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端.HTTP协议采用了请求/响应模型 ...
- node搭建简单的本地服务器
首先要安装node,方法很多,可以去网上找找,可以直接去官网下载安装,新版本的node是自带npm的: 安装好以后,新建一个js文件,名为server.js: let http = require(' ...
- iOS 使用node js 搭建简单的本地服务器
一.前提:基于iOS 项目 调用,使用了第三方框架NodeMobile.技术说明关键是 应用生命整个周期只能在应用启动时候开辟的一个线程里申请 一个 node js 资源.如果终止了运行,重启是不支 ...
- 搭建windows的solr6服务器(二)
首先搭建solr环境,如:solr6.0学习(一)环境搭建 修改各种配置文件. 1.修改solrhome下的solr.xml文件 注解掉zookeeper搭建集群配置,我们后面会采用master-sl ...
- 搭建windows的solr6服务器
准备工作: 目前最新版本6.0.下载solr 6.0:Solr6.0下载 JDK8 下载jdk1.8:jdk1.8[solr6.0是基于jdk8开发的] tomcat8.0 下载:tomcat8 ## ...
随机推荐
- C#:多进程开发,控制进程数量
正在c#程序优化时,如果多线程效果不佳的情况下,也会使用多进程的方案,如下: System.Threading.Tasks.Task task=System.Threading.Tasks.Task. ...
- React-Native(二):React Native开发工具vs code配置
从网上翻阅了一些开发react-native的开发工具时,发现其实可选的工具还是比较多的Sublime Text,WebStrom,Atom+Nuclide,vs code 等.因为我用.net生态环 ...
- [翻译] softmax和softmax_cross_entropy_with_logits的区别
翻译自:https://stackoverflow.com/questions/34240703/whats-the-difference-between-softmax-and-softmax-cr ...
- Array方面Js底层代码学习记录
一..clear() →Array function clear() { this.length = 0; return this; } 返回清除item的空数组. 例子: var fruits = ...
- 在MySQL中使用子查询
子查询作为数据源 子查询生成的结果集包含行.列数据,因而非常适合将它与表一起包含在from子句的子查询里.例: SELECT d.dept_id, d.name, e_cnt.how_many num ...
- 学习linux的一些指令
简单说一下我对linux的理解,linux只有一个根目录,所有目录都挂在该根目录上,磁盘进行分区,然后生成文件系统,挂到目录上,/etc/fstab用于记录系统配置,比如分区挂载点,开机自动挂载等等. ...
- 全球性WannaCry蠕虫勒索病毒感染前后应对措施
前言:针对WannaCrypt勒索病毒的讨论和技术文章是铺天盖地,大量的技术流派,安全厂家等纷纷献计献策,有安全厂家开发各种安全工具,对安全生态来说是一个好事,但对个人未必就是好事,我们国家很多用户是 ...
- LAMP+Wordpress搭建博客
作为一名技术控,看到别人都有专属于自己的博客,小夜也忍不住自己操刀做个自己的博客.有兴趣的童鞋接下来可要认真地练习比对哦.如果出现错误也不要着急上火,咱们可以交流学习.我们的口号是:遇水搭桥,遇山凿山 ...
- JavaScript数据结构与算法(一) 栈的实现
TypeScript版本源码 class Stack { items = []; public push(element) { this.items.push(element); } public p ...
- 理解error和exception之间的区别
很多程序员不清楚error和exception之间的区别,这区别对于如何正确的处理问题而言非常重要(见附1,"简要的叙述error和exception").就像Mary Campi ...