gitea搭建指南

gitea仓库搭建

一、下载

【必须先安装git】
https://dl.gitea.io/gitea/这个网址选择合适版本的windows 64位系统。

二、安装并开启服务

下载后放入想安装的文件夹,例如C:\gitea
将exe文件重命名为gitea.exe
管理员方式打开cmd,输入:
sc create gitea start= auto binPath= ""C:\gitea\gitea.exe" web --config "C:\gitea\custom\conf\app.ini""
别忘了将 C:\gitea 替换成你的 Gitea 安装目录。
然后打开服务,找到gitea,右键run,服务启动:

image.png

此时浏览器访问http://localhost:3000即可访问了。
另注:
1)sc delete gitea 可以用这个命令删除服务。
2)防火墙要开启22端口(或者自己设置的其他端口)
3)确保gitea.exe服务启动。
4)后台运行及开机启动
如果是window系统,可能遇到gitea.exe老是在前台,所以想把gitea放到后台运行,然后支持开机自启,所以写一个超简单的脚本。在gitea的安装目录下,新建一个文本文档,写入两句话(其中“C:\Gitea\gitea.exe”改为自己的安装目录)

set wscriptObj = wscript.createObject("wscript.shell")
wscriptObj.run "C:\Gitea\gitea.exe", 0

然后保存,更改后缀为gitea.vbs。以后双击gitea.vbs,就变为后台运行了(只能到进程去找它了)。
开机自启呢,最简单的方式,就是建一个gitea.vbs的快捷方式,把它放到自己电脑的启动目录,我的启动目录在这里(C:\Users\Cheery\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup),一般将Cheery更换为自己的用户名就能找到了。OK,现在gitea可以开机自启了(不用快捷方式,直接将gitea.vbs扔过去也可以的)。


作者:IamCheery
来源:CSDN
原文:https://blog.csdn.net/cr605897869/article/details/80843819
版权声明:本文为博主原创文章,转载请附上博文链接!

三、配置

配置说明文件:https://docs.gitea.io/zh-cn/config-cheat-sheet/
配置好数据库和相关路径就可以了。在这里可以将localhost设置为192.168.1.6,方便局域网内其他人访问。
数据库简单点选择sqlite就可以了。

gitea仓库使用:

一、安装git

1.下载地址:https://git-scm.com/downloads
2.默认设置安装
3.安装完后打开git bash,输入以下字符,告诉git你是谁。

图片.png

二、ssh配对

前提:去配置里增加一行:START_SSH_SERVER = true


图片.png

保存后重启gitea.exe

1.本地电脑上生成并部署SSH key:
检查C:/users/yhj/.ssh/目录下(yhj根据不同电脑不同)是否有rsa名字的文件,如果没有,则在gitbash输入: ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
注:xxxx为自己的邮箱名字
一路回车即可生成ssh私钥(id_rsa)和公钥(id_rsa.pub)。
2.git bash进入.ssh目录,输入命令: cat id_rsa.pub,打开id_rsa.pub。

图片.png

3.将出现的内容复制给gitea管理员。
4.管理员将其添加到gitea.


图片.png

图片.png

5.在git bash 里输入ssh -T xxx@192.1.xx.xx (前面的xxx指电脑名称,后面的xx指IP地址)

三、进行pull/push操作

1.建立本地文件夹
本地建立一个文件夹,存放git本地仓库
2.git bash 进入到该文件夹
初始化:git init
3.将本地库和远程库进行关联:
git remote add origin DESKTOP-46VK2M2@192.168.1.6:fishmindtech/dev.git
注意:1).网页上显示的ssh库地址有个$,需要删除。


图片.png

2):如果关联了错误的库,可以用git remote rm origin来删除。
4.推送到远端
git pull origin master #从远程库拉回版本
git add . #把修改的文件添加至暂存区
git commit -m “说明文字” #在本地将暂存区内容提交
git push -u origin master #将本地推送到远端

以上是用ssh方式登录git,这种方式免输密码。
也可以用http登录的方式访问git,就在3.将本地库和远程库进行关联:这一步的时候,改为:git remote add origin http://192.168.1.6:3000/fishmindtech/dev.git

图片.png

后面git push/pull的时候就需要输入在这个git服务器上注册的账号密码才行。

此外,git 分支管理、标签管理可以参考这个教程:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743862006503a1c5bf5a783434581661a3cc2084efa000

2018-12-12:
Q:同样的gitea网址,不同账号下不同仓库,无法用同一个ssh key访问吗?
ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

2019.5.15更新
现在想在家里电脑上编程然后推送到公司电脑的git仓库,如何实现?
在公司内网的frpc添加设置:

[3000SERVER]
type = tcp
local_ip = 192.168.31.99#gitea所在电脑的内网IP
local_port = 3000#gitea对外的端口
remote_port = 5003#准备通过公网IP加该端口访问

然后重启服务即可。
此时在gitea 可以看到仓库的地址是:
http://192.168.31.99:3000/mindo/ylib.git
在家里电脑上pycharm里面的git remotes设置里,将192.168.31.99:3000修改为 公网ip:5003 即可。
此时pull不影响,push需要输入在gitea注册的账户密码。
ssh方式待补充。

推荐阅读更多精彩内容