最近在学习 git 使用,在简书上看到了一篇不错的文章,转载作为备忘记录。

转载原文出处:https://www.jianshu.com/p/ec36ab896ed5

有些小公司没有搭建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}/gitgit.repositoriesFolder = D:\git_server\GitProject\demo2、#server.httpPort = 0server.httpPort = 100103、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
* masterremotes/origin/HEAD -> origin/masterremotes/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 branchmaster
* 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.txtnothing 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.txtAdministrator@MS-20170524EUSY MINGW64 /e/work_demos/Test (sensor)
$ git commit -m "提交a.txt"
[sensor 5770c67] 提交a.txt1 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 | 01 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才能正常操作服务器代码如下所示:

作者:baby_double
链接:https://www.jianshu.com/p/ec36ab896ed5
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

(转载)搭建小型Git服务器相关推荐

  1. 基于gitolite搭建轻量级git服务器

    原文地址:http://lisongze.com/2018/09/01/gitolite-gitserver/ or http://lisongze.cn/2018/09/01/gitolite-gi ...

  2. 使用Gitblit 搭建Windows Git服务器

    使用Gitblit 搭建Windows Git服务器 整理使用Gitblit搭建Git服务器的步骤. 目录 使用Gitblit 搭建Windows Git服务器 目录 下载安装 配置 运行 客户端运行 ...

  3. 基于CentOS7.6系统搭建远程GIT服务器

    基于CentOS7.6系统搭建远程GIT服务器 0 背景 0.0 GIT是什么 0.1 为什么搭建远程GIT服务器 1. 功课 2. 过程 3. 总结 4. 参考资料 0 背景 0.0 GIT是什么 ...

  4. windows搭建本地git服务器【gitblit】+配置git的ssh免密+vscode的git图形使用

    一.搭建本地git服务器[gitblit] 转自:Window系统下搭建GIT本地服务器 1.安装Java环境,配置环境变量. 2.解压文件gitblit-1.8.0.zip至你准备放服务器的目录下 ...

  5. linux ubuntu 安装git服务器,[linux] Ubuntu20.04上安装搭建私有Git服务器Gitea

    [linux] Ubuntu20.04上安装搭建私有Git服务器Gitea [linux] Ubuntu20.04上安装搭建私有Git服务器Gitea Gitea 是相比于gitlab更加轻量化,而且 ...

  6. 搭建私有Git服务器

    前言  远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改.GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得 ...

  7. Windows搭建局域网Git服务器

    Git学习 文章目录 共享文件夹配置Git服务器 配置公开版本库 服务器端 客户端 测试 GitStack搭建Git服务器 安装部署 问题 共享文件夹配置Git服务器 本文说明在局域网中用一台电脑作为 ...

  8. CentOS系统利用Gitolite搭建私有Git服务器

    说明: 服务器和管理器使用同一台机器,主机名为hadoop,现实场景最好使用不同的机器. 创建不同的用户模拟使用场景: 1)git用户作为服务器管理用户,用来安装gitolite: 2)gitadmi ...

  9. Bonobo Git Server搭建本地Git服务器(Windows 下)

    Abstract 1. 搭建Bonobo Git Server前的准备 2. 安装 1. 搭建Bonobo Git Server Git Server有很多种,且对各个平台的都有支持. 详细的平台对比 ...

最新文章

  1. 第七篇:循环神经网络
  2. 「预训练-调优」范式的未来
  3. python整理excel数据-利用python整理需要的excel报表(上)
  4. 零基础可以学python吗-零基础适合学习python吗?
  5. 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( “Python“ 因为出现问题而无法打开 )
  6. Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex
  7. CATALAN数 学习
  8. excel删除行 uipath_学会这8个Excel神技巧,轻松告别零基础!
  9. 国内首个 Serverless 数据库来了,技术架构全揭秘!
  10. OS X: Messages Agent wants to use the login keychain
  11. webpack打包、js处理兼容性、代码压缩问题Uncaught SyntaxError: Cannot use import statement outside a module (at index
  12. linux批处理创建mysql用户_域用户和组帐户的管理之一次同时添加多个用户帐户篇...
  13. 数据分析报告怎么写(四)
  14. js实现微信禁止h5网页下拉,禁止微信h5页面默认下拉
  15. 上海理工大学计算机专业录取分数线,上海理工大学录取分数线2021是多少分(附历年录取分数线)...
  16. 震撼来袭!葡萄城商业智能报表软件Wyn Enterprise V5.0发布会前瞻,3大亮点抢先看
  17. autojs之自动答题思路详解
  18. 车贷行业配备GPS北斗定位模块的意义
  19. 三菱PLC各型号之间的区别
  20. 为什么手机连上wifi却上不了网

热门文章

  1. m基于stft方法的跳频信号解跳和GFSK信号解调,并输出跳频图案
  2. 云闪付小程序吃坑,太坑了,整个人都要烧了,找遍全网都找不到这么详细的开发资料了
  3. unbuntu中C语言环境安装
  4. python 情书_用Python做一个520表白神器,值得收藏(示例代码)
  5. 网络分流器|网络分流器大数据采集方案
  6. tp5服务器部署 模板不存在
  7. 美国 导航 android,首款Android智能导航手机A50现身美国市场
  8. 智工教育:公务员山东考区报名确认注意事项
  9. 响应式网页开发注意事项
  10. 2019年华北五省计算机应用技术大赛,参赛总结(参赛项目:简说APP)