搭建小型Git服务器

有些小公司没有搭建Git服务器,让一些用过Git服务器的人难以适应,增加了合代码的困惑,而且不知道自己改过哪些地方,追踪的时候会非常麻烦,今天教大家在电脑上搭建自己的Git服务器。
如果几个人同时维护一份代码,可以向公司申请一台电脑,当成服务器,如果没有条件,别慌,可以把某个同事的电脑当成服务器(比较苦逼的就是那个同事电脑可能会卡一点),一个人维护那就更好了,接下下开始搭建Git服务器环境。
一、搭建git服务器环境
1)、从http://www.gitblit.com下载Git服务器包,如下图所示;

6M}NI0B91GR8F8F37GQ83BO.png

2)、下载成功之后,把该目录放在空间比较大的盘中,譬如本电脑的D盘比较大,我就放在了D盘:D:\git_server\gitblit-1.8.0,git_server是自己创建的一个目录,把下载的文件放在该目录下,进行解压。

HJ3}3JTAKKKED0Z2MGFZSLG.png

3)、创建存储项目代码的目录,这里为D:\git_server\GitProject
4)、更改D:\git_server\gitblit-1.8.0\gitblit-1.8.0\data目录下的defaluts.properties文件。如下几个地方需要修改。

 1、 #git.repositoriesFolder = ${baseFolder}/git
        git.repositoriesFolder = D:\git_server\GitProject\demo
 2、#server.httpPort = 0
       server.httpPort = 10010
 3、server.httpBindInterface =192.168.1.166  后面的IP地址为电脑的IP地址
 4、server.httpsBindInterface =localhost
     更改后,保存关闭文件。

5)、开始运行gitblit.cmd批处理文件。如下图所示表示运行成功。

run_success.png

6、在浏览器中输入:http://192.168.1.166:10010/,如果可以登录网页表示服务器环境搭建成功。
7、用户默认情况下可以用用户名:admin和密码:admin进行登录,之后可以更改密码,如下所示。

change_password.png

7、客户端想访问服务端首先得创建版本库,如下图所示,填写相关内容后,点击创建按钮。

create_database.png

8、创建版本库之后,就会生成如下界面,客户端可以通过如下地址ssh://admin@192.168.1.166:29418/~admin/sensor.git访问服务器了。

{N)CPA2G%5TSMZI8VGU_5YB.png
注意:如果被当成Git服务器的电脑是动态获取IP地址,则需要更换defaluts.properties文件下的属性server.httpBindInterface =新的IP地址,然后启动gitblit.cmd,然后才可以访问网页:http://新的IP地址:10010/

二、客户端访问Git服务器
1、客户端想访问Git服务器首先需要下载TortoiseGit,建议下载地址:https://tortoisegit.org/download/,下载并安装成功后,找一个目录如:本人在路径e/worktools下,点击鼠标右键会弹出Git Bash here选项,单机,
输入git clone http://admin@192.168.1.166:10010/r/~admin/radio.git,远程版本库就拉在本地目录E:\work_tools\sensor下了。
2、用户想把自己的项目放到Git服务器上,譬如把本地的收音机radio项目传到GIt服务器上,首先把本地的Radio项目拷贝到E:\work_tools\sensor下,如下所示:

radio.png

3、拷贝好后,进入Git控制台输入cd sensor 命令进入sensor目录,然后输入git status命令,就可以看到加入的Radio_UI文件。

ZRH@7~LE(43T{7~INM2R)O7.png

4、接着在控制台输入git add Radio_UI命令,再次输入git status命令,此时文件表示可以提交的状态。
5、git commit -m "first commit" 通过该命令提交代码,""包含的内容是注释文,此时代码仍然没有上传到服务器,而只是缓存在本地,接着输入
git push ssh://admin@192.168.1.166:29418/~admin/sensor.git
出现如下提示框,需要输入用户密码,前面两个password直接按Enter键,最后一个需要输入登录时的密码,输入之后就开始上传。

auth.png

6、上传成功后,用户可以去服务器界面查看,如下所示表示已经上传成功。

upload.png

三、GiTortoise操作Git服务器上的代码。

创建远程分支
(1)从服务器上下载代码并保存在E:\work_demos目录:
首先进入E:\work_demos目录下,鼠标右键,点击Git Bash Here打开Git控制台,在控制台中输入如下命令:

git clone ssh://admin@192.168.1.166:29418/~admin/Test.git

ssh://admin@192.168.1.166:29418/~admin/Test.git表示你之前创建库的路径。代码下完之后,就会有一个新生成一个文件夹Test,通过命令cd Test,进入该目录。

(1)查看远程和本地分支:git branch -a

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

(2)创建分支:git branch sensor

 Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git branch sensor

(3)查看本地分支:git branch, master前面有一个星号,表示当前正在master分支上

 Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git branch
* master
sensor

(4)把当前分支推送到远程服务:密码就是登陆服务器的密码

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git push origin sensor
Password authentication
Password:
Total 0 (delta 0), reused 0 (delta 0)
remote: Updating references: 100% (1/1)
To ssh://192.168.1.175:29418/~admin/Test.git
 * [new branch]      sensor -> sensor

(5)切换到分支sensor

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git checkout sensor
Switched to branch 'sensor'

(6)再次查看本地分支:此时星号在分支sensor前面,说明正在分支sensor上。

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (sensor)
$ git branch
 master
* sensor

(7) 在分支sensor修改代码,例如增加一个文件。

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (sensor)
$ touch a.txt

(8)查看修改状态,表示新增加了一个文件

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (sensor)
$ git status
On branch sensor
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    a.txt

nothing added to commit but untracked files present (use "git add" to track)

(9)增加代码并添加;

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (sensor)
$ git add a.txt

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (sensor)
$ git commit -m "提交a.txt"
[sensor 5770c67] 提交a.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a.txt

(10)切到主分支:git checkout master

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (sensor)
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

(11)把sensor分支提交的代码合并到master分支上:git merge sensor

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git merge sensor
Updating 04b2ecc..5770c67
Fast-forward
a.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a.txt

(12)删除分支sensor: git branch -d sensor
删除分支后对修改的内容没有任何影响,因为已经合并到主分支了。

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git branch -d sensor
Deleted branch sensor (was e525169).

(11)把代码推送到服务器:git push

Administrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (master)
$ git push
Password authentication
Password:
Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 278 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
remote: Updating references: 100% (1/1)
To ssh://192.168.1.175:29418/~admin/Test.git
5770c67..e525169  master -> master

(12)如果多人开发一份代码,为了区分用户,需要改用户名,命令如下:

$git config --global user.email "Emily@gmail.com"
$git config --global user.name "Emily"

四、eclipse操作Git服务器的代码。
(1)拉取服务器代码如下图所示:

F}%HI8N4(G~Z372M%QE~C2V.png
4I%R40J%P}YT_49(40WB5_M.png

URI是远程服务器下载代码的路径,直接粘贴,其他都会自动生成,密码是登录服务器的密码。


6NL`CBDZ}58M}I6TD~B4}H0.png
{4U2XP1E)%TO52XDI4H4PJU.png

C:\Users\Administrator\git\Test是保存代码的路径,不是固定的,可以切换成其他路径。


5OQU_}XW0VG78JDHO`IT5YS.png
FPDS[}Q1JN@8%MXIL]9D)6C.png

出现如下情况,表示eclipse中已经存在该代码。如果不存在Finish按钮不是灰色的,是可以点击的。到这里就是最后一步了,点击finish后代码就已经从远程服务器拉取下来了。

QRZ5}4~PP@VQG~E(4)2X%CH.png

(2)配置服务器的地址

image.png
image.png

(2)在修改代码代码之前首先需要拉取最新代码git pull;

image.png

(3)提交修改的代码

image.png

注意:如果被当成Git服务器的电脑是动态获取IP地址,每次重启电脑后,需要查看电脑的ip,如果电脑IP和上一次相同,只用启动gitblit.cmd即可。如果不同则需要更换defaluts.properties文件下的属性server.httpBindInterface =新的IP地址,然后启动gitblit.cmd。启动后,还需要修改本地代码中.git目录下config配置文件后,eclipse才能正常操作服务器代码如下所示:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,099评论 18 139
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,582评论 4 54
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,587评论 1 17
  • 文/吴晓黎 有些事情 计划好了再做会来不及 有些事情 恰好遇上了就刚刚好 说干就干往往更能出成绩 计划虽周全 但更...
    吉佳呖呖阅读 452评论 0 4
  • 1:什么是字面值? 一眼看上去就知道多少就是字面值 字面值就是内存中的一块空间,这块空间有类型,有值, 例~10整...
    我的女人我来惯阅读 991评论 0 0