Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。接下来说说怎么安装以及一些简单使用方法:
一、下载安装包
1、gitea安装包:Gitea | gitea
二、安装
2.1 gitea 安装
1、把下载好的安装包(gitea-1.25.3-windows-4.0-amd64.exe),放到D:\gitea(可以自己定义),双击gitea-1.25.3-windows-4.0-amd64.exe;
弹出:

在浏览器中输入:http://localhost:3000
回车后,弹出:

我这里选择SQLite3,如果选别的数据库,那就需要安装,自己电脑安装有别的数据库,也可以执行选择

这里可以创建一个管理员的账户,这样后面使用的时候可以在管理员账户下创建仓库,方便仓库管理。填好管理员账户后,点击立即安装就可以了,安装后,会在安装目录下生成几个文件。

到里gitea就安装好了。
三、配置开机自启动
1、按下Win + R,输入shell:startup,打开启动文件夹
2、右击空白处,选择"新建"--> "快捷方式,在预览中选择D:\gitea\gitea-1.25.3-windows-4.0- amd64.exe
3、点击下一页,在点击完成;

每次开机都会弹出这么一个框,很烦人,误关了,还不能用,所以可以把这个注册为服务,在后台默默的运行才稳妥;
四、配置后台运行
4.1 通过管理员权限运行CMD
4.1.1 Ctrl+Alt+Del 打开任务管理器


4.1.2 使用windows自带的命令sc注册服务

4.1.3 查看服务
按下Win + R,输入services.msc,找到

如果状态不是'正在运行',右击选择'启动'就OK了
五、简单使用
5.1 admin账户创建仓库

点击创建仓库,弹出


填好仓库名称,不要勾选仓库私有,点击下面的创建仓库,就可以了,
同时admin的管理员账户,可以进行仓库的管理

5.2 个人账户使用
5.2.1 个人账户注册


5.2.2 派生admin仓库操作
点击'探索',选在admin/test后,点击右上角的'派生':

从admin派生过来的个人远端仓库:

个人远程仓库clone到本地的URL:

个人远程仓库代码合并到主干(admin仓库):这样做的好处就是可以方便代码走读,走读通过后,代码才合并到主干。
六、常用命令
1、克隆原程仓库到本地
git clone [url] #url是个人仓库地址
git clone [url] -b branch_name #url是个人仓库地址;branch_name 分支名:克隆指定的分支
2、提交文件到暂存区
git status #查看暂存区的状态(也可以查看本地工作区的状态)
git add filename #filename 文件名
git add . #把本地修改的全部文件提交到暂存区
3、把暂存区的文件提交到版本库
git commmit -m 'fix:本次添加的注释信息'
#提交类型说明:
feat:新功能
fix:修改bug
docs:文档描述变更
style:风格变动
refactot:代码重构
perf:性能优化
test:测试代码
chore:构建配置相关
revert:回滚
4、版本库到远程仓库
git push origin branch-name #branch-name 分支名
git push -f origin branch-name #branch-name 分支名 强制推送
git push -u origin branch-name #branch-name 分支名 将本地分支推送到远程仓库,并将本地分支与远程分支关联起来(当你第一次将本地分支推送到远程仓库时,使用 -u 选项可以方便地建立关联)
5、创建分支
git branch new_branch_name #new_branch_name 新分支名,当前是那个分支,就以这个分支创建新分支
git branch new_branch_name reference_branch_name #new_branch_name 新分支名,基于reference_branch_name分支创建新分支
git push origin -d branch_name # branch_name 远程分支名
git branch -D branch_name # branch_name 本地分支名
#分支命名规则:
功能开发: feature/功能名
bug修改:fix/问题描述
发布版本:release/版本号
个人开发:dev/姓名/功能
# 开发完成后合并到主分支
git checkout main
git merge --no-ff feature/功能名 -m '本次添加的注释信息' # 保留分支历史,xxx:提交信息
git branch -d feature/功能名 # 删除本地分支
6、撤销commit
git reset --soft HEAD\^ #撤销commit,但保留已add的文件
git reset --hard HEAD\^ #撤销commit,同时也撤销已add的文件
7、撤销add
git reset 文件名 # 撤销单个文件
git reset # 撤销全部已add的文件
8、回滚到特定版本
git reset --hard commit_id # commit_id 可以通过git log查看之前提交的信息
git push origin branch_name --force # 强制推送 branch_name 本地分支名
9、紧急用一个分支解决某个bug或新增某个功能
# 创建分支并切换到该分支
git checkout -b feature/xxx master
# 提交
git add .
git commit -m "feat:本次添加的注释信息"
git push origin feature/xxx
#同步
git checkout master
git merge feature/xxx
git push origin master
git checkout dev
git merge feature/xxx
git push origin dev
#打标签发布
git tag -a v1.2.1 -m "本次添加的注释信息"
git push --tags
10、 # 每天工作前:
git checkout main
git pull --rebase # 拉取最新代码(推荐用rebase代替merge)
# 功能开发中途同步:
git fetch origin # 获取远程更新
git rebase origin master # 变基到最新代码
11、 git diff去除^M的方法
1、git config --global --list
2、git config --global core.whitespace cr-at-eol
