当前位置: 首页 > 编程日记 > 正文

在Windows上搭建Git Server

Git在版本控制方面,相比与SVN有更多的灵活性,对于开源的项目,我们可以托管到Github上面,非常方便,但是闭源的项目就会收取昂贵的费用。

那么私有项目,如何用Git进行代码版本控制呢?我们可以自己构建Git服务器。一般来说,在Linux上搭建Git的教程比较多,但是如何在Windows Server平台下搭建Git服务器呢?

对于很多.NET用户来说,代码编写的工具是Visual Studio,该工具是不支持SSH协议的,通过搜索和对比,发现Gitblit可以很方便的搭建服务,他是用Java编写的,所有安装的前提是安装Java运行时环境。

第1步:下载Java并安装Java.我这里下载的是jdk1.7.0_79

第2步:配置Java环境变量

右键” 计算机” => ”属性” => ”高级系统设置” => ”高级” => “环境变量” => “系统变量”。

  1. 新建:变量名:JAVA_HOME;变量值:C:\Program Files\Java\jdk1.7.0_79【具体要根据你自己的安装路径,我的是安装在D盘的】

  2. 新建:变量名:CLASSPATH;变量值:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

  3. 添加:找到PATH变量,选择编辑。把%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin添加到”变量值”的结尾处。

 

第3步:验证Java是否安装成功。

在命令窗口中,输入javac, 回车,如果出现如下信息,说明安装成功。

第4步:下载Gitblit.下载地址:http://www.gitblit.com/

第5步:解压缩下载的压缩包即可,无需安装。路径为 C:\gitblit-1.8.0

第6步:创建用于存储项目代码的文件夹。这里为G:\GitProject\webui

第7步:配置gitblit,文件在C:\gitblit-1.8.0\data下,打开gitblit.properties ,里面有 include = defaults.properties,说明配置信息在defaults.properties中

2.找到git.repositoriesFolder(资料库路径),赋值为G:\GitProject\webui。

3.找到server.httpPort,设定http协议的端口号

4.找到server.httpBindInterface,设定服务器的IP地址。这里就设定你的服务器IP。

5.找到server.httpsBindInterface,设定为localhost

另外注意看看server.shutdownPort ,其默认值为 8081,是否被占用,如果占用请修改。

6.保存,关闭文件。

第8步:运行gitblit.cmd 批处理文件。运行结果如下,运行成功。

在浏览器中输入:http://192.168.180.159:10010/ ,默认可以用admin和admin进行登录,然后改密即可。

当然,如果在windows中将gitblit的启动注册到windows服务中,可以省的每次都要运行gitblit.cmd。

设置


SET ARCH=amd64(64位,32位机器为 x86)

设置


Set CD=C:\gitblit-1.8.0,CD的值为gitblit的路径,将启动参数设为空值,采用默认的参数即可 ,--StartParams="" ^

然后,以管理员方式打开CMD,  运行批处理文件installService.cmd即可。


 如果没有提示异常, 则到 “服务“ 组件里就可以找到 ”gitblit“ 这个服务了。

在浏览器中输入:http://192.168.180.159:10010/,用管理员登录后,可以创建团队和用户,并配置权限

然后可以创建一个webui的版本库,单击Git下拉列表,可以查看ssh,http等网络地址:

由于visual studio 2015 Git不支持ssh,这里用http协议,打开vs2015的团队资源管理器

单击[克隆]按钮,然后再解决方案下单击[新建]

创建一个web网站,如下图:

切换到 解决方案资源管理器中,可以看到项目文件结构:

我们可以添加和编辑此项目文件:

下面需要将该项目提交到服务器上

此时,可以刷新http://192.168.180.159:10010/tree/webui.git 查看服务器目录结构:

转载于:https://www.cnblogs.com/sumuncle/p/6362697.html

相关文章:

pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装

一、前言描述接到客户报修说,电脑无法开机,即到哥上门维修立即安排人员到现场查看原因,到现场后,查看的确是电脑系统问题,重新安装系统,安装完成系统后,发现打印机无法使用。这个打印机型号是TS…

PHP中阶,PHP进阶

PHP功能的强大首先在于它的大量的内置函数库,它可以让初学者也能执行许多复杂的任务,而不必安装新的库和关心底层的详细情况,而这恰恰是其它流行的诸如Perl这样的客户端语言所不具备的。由于这个教程的限制,我们仅仅学习了一些与M…

安卓手机格式化怎么弄_安卓手机无法启动如何进行格式化

当我们在使用安卓智能手机的时候,由于使用错误或者出现的各种问题导致手机无法重启,相信你一定会感到很烦恼!而如果手机混乱到无法启动,格式化是一个不错的尝试方法!下面给大家介绍手机格式化的方法和注意事项&#xf…

位域 内存 字节序_JS操作内存?二进制数组了解一下

二进制数组的由来主要是为了提高浏览器与显卡之间的通信效率,由二进制数据代替传统的文本。二进制数组主要有三个对象:ArrayBufferTypedArrayDataViewArrayBuffer对象ArrayBuffer是一个构造函数,参数是一个数字,代表索取多少个字节…

求排列的逆序数(分治)

考虑1,2,…,n (n < 100000)的排列i1&#xff0c;i2&#xff0c;…&#xff0c;in&#xff0c;如果其中存在j,k&#xff0c;满足 j < k 且 ij > ik&#xff0c; 那么就称(ij,ik)是这个排列的一个逆序。 一个排列含有逆序的个数称为这个排列的逆序数。例如排列 263451 含…

mysql 查看当前事务id,MySQL 如何查询当前最新事务ID

写在前面&#xff1a;在个别时候可能需要查看当前最新的事务 ID&#xff0c;以便做一些业务逻辑上的判断(例如利用事务 ID 变化以及前后时差&#xff0c;统计每次事务的响应时长等用途)。通常地&#xff0c;我们有两种方法可以查看当前的事务 ID&#xff1a;1、执行 SHOW ENGIN…

password

pwdText wx.TextCtrl(panel, -1, ”password”, size(175, -1), stylewx.TE_PASSWORD)转载于:https://www.cnblogs.com/chengxuyuan326260/p/6364695.html

java 自带thread分析工具_java自带的jvm分析工具

这段时间觉得很有必要对java的内存分析工具进行熟悉&#xff0c;这样以后出现机器负载较高&#xff0c;或者反应很慢的时候&#xff0c;我就可以查找原因了。上网搜了搜&#xff0c;发现下面这些是比较常用的&#xff0c;然后我在机器上试试了&#xff0c;把结果也贴出来哈。1.…

Python笔记:字典的fromkeys方法创建的初始value同内存地址问题

dict中的fromkeys()函数可以通过一个list来创建一个用同一初始value的dict。 1 d dict.fromkeys(["苹果", "菠萝"], [apple, pineapple]) 2 print(d) 3 d.get("苹果").append(orange) 4 print(d){苹果: [apple, pineapple], 菠萝: [apple, pine…

表格下划线怎么加粗_这招高!Excel签名栏的下划线随列宽变化,是不是感觉牛哄哄的?...

职场牛人的世界总有各种高招&#xff0c;随手蹦出&#xff0c;令人赞叹不已&#xff01;今天早上去填一个表格&#xff0c;在输入签名时&#xff0c;突然发现签名处的下划线是随着列宽的变化而自动变化&#xff0c;这绝对是动态的&#xff0c;这是怎么做到的呢&#xff1f;我特…

JS高级程序设计拾遗

《JavaScript高级程序设计&#xff08;第三版&#xff09;》反反复复看了好多遍了&#xff0c;这次复习作为2017年上半年的最后一次&#xff0c;将所有模糊的、记不清的地方记录下来&#xff0c;方便以后巩固。 0. <script>元素属性 async表示立即下载脚本&#xff0c;但…

mysql建立高效索引,如何知道你建立的MySQL索引是高效,合理的

不管是开发人员&#xff0c;仍是数据库维护人员&#xff0c;给表建立索引是很常见的事情。普通到什么程度&#xff0c;初级&#xff0c;中级开发人员的印象中&#xff0c;只要写的sql语句效率不高&#xff0c;第一反应就是建索引&#xff0c;而无论这个字段是否适合建立索引。反…

32位java 最大内存_【答疑系列】为什么32位系统只支持最大4G内存?

这个问题一直都有同学问到&#xff0c;算是提问次数最多的问题之一了。32位是什么现在主流的操作系统都是64位的&#xff0c;早期存在32位操作系统&#xff0c;相信大家也都有所听闻&#xff0c;其实&#xff0c;在更早之前&#xff0c;还有16位、8位的&#xff0c;这里就不展开…

新手C#string类常用函数的学习2018.08.04

ToLower()用于将字符串变为小写&#xff0c;注意字符串的不可变特性&#xff0c;需要重新赋值给另一个字符串变量。 s s.ToLower();//字符串具有不可变性&#xff0c;转换后需要重新赋值&#xff0c;不可仅有s.ToLower(); 这可以使用户的输入不区分大小写&#xff0c;例如验证…

开始使用博客了,改变从这里开始。

开始使用博客了&#xff0c;改变从这里开始。 开始使用博客了&#xff0c;改变从这里开始。 开始使用博客了&#xff0c;改变从这里开始。转载于:https://www.cnblogs.com/hello001/p/6367259.html

php 贝瑟尔曲线,贝塞尔曲线的应用详解

简介贝塞尔曲线是可以做出很多复杂的效果来的&#xff0c;比如弹跳球的复杂动画效果&#xff0c;首先加速下降&#xff0c;停止&#xff0c;然后弹起时逐渐减速的效果。使用贝塞尔曲线常用的两个网址如下&#xff1a;缓动函数&#xff1a;cubic-bezier&#xff1a;如何用贝塞尔…

区别 eks_sport 和 exercise 有什么区别?看完你就清楚了!

说到“运动”sport 这个单词应该是不少人看到“运动”的第一反应吧sport /spɔ:t/ n.体育运动例如&#xff1a;Id say football is my favourite sport.我最喜欢的运动要数足球了。习语&#xff1a;be a sport 讲交情例如&#xff1a;Shes a good sport.她很讲交情。sport通常指…

java gps时间转换工具_java 时间戳和时间互转工具 和 时间偏移量计算

时间互转代码片段&#xff1a;* 时间戳 转 时间 ** param beginDate* return* see [类、类#方法、类#成员]*/public static String timeStampToTime(String beginDate){SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date new Date(Long…

tcp 状态转换.

命令行:rootubuntu:/home/linson# netstat -apt | grep 3030 server,listen 服务端根据端口生成一个socket.用于监听连接.也就是监听3次握手,当3次握手成功,建立一个连接接放入队列中. 也就是说执行了listen,会自动应答3次握手,如果不执行listen,没有api会帮你处理3次握手. 所以…

增加、修改、删除

第一;,models.py建表 from django.db import models# Create your models here.class Book(models.Model): #必须继承models.Model这个类&#xff0c;jango才能识别Book是一张表namemodels.CharField(max_length20)#charfield字符串类型&#xff0c;长度20#pricemodels.FloatFi…

java ee 笔试题目,JSP经典笔试@题目(含答案)

JSP经典笔试题目(含答案)更新时间&#xff1a;2017/2/5 19:25:00 浏览量&#xff1a;557 手机版JSP综合测试笔试1)在Java EE中&#xff0c;Servlet是在服务器端运行&#xff0c;以处理客户端请求而做出的响应的程序&#xff0c;下列选项中属于Servlet生命周期阶段的是( )A.加…

句法依存分析_[NLP学习笔记]句法分析

句法分析任务简介成分句法分析&#xff08;Constituency Parsing&#xff09;&#xff1a;分析句子的成分&#xff0c;给出一棵树由终结符和非终结符构成的句法树。依存句法分析&#xff08;Dependency Parsing&#xff09;&#xff1a;分析句子中词与词之间的依存关系&#xf…

modifiers在JAVA中_Java Modifier.classModifiers方法代碼示例

import java.lang.reflect.Modifier; //導入方法依賴的package包/類/*** Returns a string describing this {code Class}, including* information about modifiers and type parameters.** The string is formatted as a list of type modifiers, if any,* followed by the k…

华为笔试题---明明的随机数

题目 明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随机整数&#xff08;N≤1000&#xff09;&#xff0c;对于其中重复的数字&#xff0c;只保留一个&#xff0c;把其余相同的数去掉&#xff0c;不…

扩展城市信道etu模型matlab仿真,LTE System Toolbox:无线通信系统的仿真、分析和测试...

LTE System Toolbox 提供用于设计、仿真和验证 LTE 和 LTE-Advanced 通信系统且符合标准的函数和应用程序。该系统工具箱加速了 LTE 算法和物理层 (PHY) 部署&#xff0c;支持黄金参考验证和一致性测试&#xff0c;并能够生成测试波形。借助该系统工具箱&#xff0c;您可以配置…

i/o多路复用笔记

1、用户空间和内核空间 操作系统的核心是内核&#xff0c;独立于普通的应用程序&#xff0c;可以访问受保护的内存空间&#xff0c;也可以访问底层硬件设备。为了保护用户进程不能直接操作内核&#xff0c;保证内核的安全&#xff0c;操作系统将虚拟空间划分为两部分&#xff0…

接口有个电池标志_USB接口上的小标签有啥用?从“+”号到闪电的奥秘

你有注意过自己PC&#xff0c;尤其是笔记本USB接口上面的小符号了吗&#xff1f;从“”号到闪电&#xff0c;小狮子前几天移动硬盘接驳始终没反应的时候&#xff0c;各种切换完毕发现这似乎是一个平时很少注意的细节啊……从“”号开始谈起仔细端详PC USB接口的时候会发现&…

java arraylist优点_Java中各种集合的特点总结

1:集合&#xff1a;(1) Collection(单列集合)List(有序,可重复)ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList底层数据结构是链表,查询慢,增删快线程不安全,效率高Set(无序,唯一)HashSet底层数…

mysql主从结构主数据库_mysql主从结构主数据库

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

JZOJ 5461 购物 —— 贪心

题目&#xff1a;https://jzoj.net/senior/#main/show/5461 贪心&#xff0c;原来想了个思路&#xff0c;优先选优惠价最小的 K 个&#xff0c;然后其他按原价排序遍历&#xff1b; 如果当前物品没选过&#xff0c;原价选上&#xff0c;如果选过&#xff0c;考虑把它换成原价&a…