(转载)搭建小型Git服务器

    最近在学习 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}/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://[email protected]: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://[email protected]: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://[email protected]: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://[email protected]:29418/~admin/Test.git

ssh://[email protected]: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 "[email protected]"
$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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

猜你喜欢

转载自blog.csdn.net/u012688704/article/details/82699607
今日推荐