实现代码远程管理的工具有很多,如gitlab,github等,但对于小的项目团队,如果能在本地部署一个类似于gitlab这样的代码管理平台,对于开发还是很方便的.下面就介绍一个超级神器,就是gitea.

  1. gitea解决哪些问题

gitea可以在本地创建类似gitlab的远程服务器代码仓库,可以实现在本地进行代码的推送和拉取管理,实现局域网内开发组成员代码提交与拉取,相当于用gitea架设了一个本地gitlab服务器.

  1. 搭建gitea环境

gitea是一个绿色软件无需安装可以直接运行,将gitea拷贝到创建的代码仓库配置文件夹下,双击运行

图1:本地部署的gitea

gitea软件运行后会创建一个本地的服务器,默认的端口号是3000,可以通过 http://服务器IP:3000来访问 Gitea 创建的代管托管平台服务器,如本地ip为”192.168.1.80”,那么访问地址为:”192.168.1.80:3000”,服务器第一次启动需要注册,填写用户名和邮箱地址.如下:

图2:gitea首次注册配置信息

主要配置点:

1.选择数据库类型为sqlite3

2.站点名称,输入自定义的名称

3.设置管理员账号和密码,最好将电子邮箱也设置

配置信息输入完成后,点击确定后,正式进入代码仓库管理界面,如下:

图3:代码仓库管理界面

此时的代码托管平台是一个空的仓库,没有创建工程,可以看到当前界面的url地址为192.168.183.131:3000,也是服务器的根地址,在界面的右上角有个”+”号,点击这个按钮可以创建代码仓库.

图4:仓库创建

创建代码管理仓库,需要填写仓库名称,如上图,仓库名称为”balance_gitea”,也可以修改默认分支名称,默认的名称是”main”,如上图修改为”master”.修改完成后按”创建仓库”按钮,完成仓库创建.

图5:空仓库命令提示

仓库创建完成后,仓库是空的,仓库管理界面会提示如何创建一个本地代码仓库?如何将本地仓库与远程仓库建立绑定连接.

提示的命令如”从命令行创建一个新的仓库”和”从命令行推送创建的仓库”所示.此时一个空的仓库就已经创建好了.按照上面的命令提示,就可以创建新的本地仓库或者从已有仓库推送代码到gitea代码仓库了.

  1. 有关git远程仓库和本地仓库操作的命令举例

以下是有关本地仓库和远程仓库代码

    1. 设置本地仓库的用户名和邮箱地址

在本地安装完git后,创建本地仓库需要设置用户名和邮箱地址.

设置用户名

git config --global user.name "你的用户名"

设置邮箱地址

git config --global user.email "你的邮箱@example.com"

    1. 已经存在的本地仓库如何设置远程仓库地址信息

设置本地仓库远程代码仓库地址,命令如下:

git  remote  add  origin  http://192.168.1.80:3000/git_sun/quickly_study_gitlab.git

    1. 如何建立本地代码仓库分支与远程仓库分支联系

将本地 master 分支推送到远程仓库 origin,并建立跟踪关系

命令如下:

git push  --set-upstream  origin  master

本地已有的代码仓库,将推送到指定的远程仓库,设置了远程仓库地址,但没有设置本地哪个分支与远程仓库的分支建立联系,此时使用此命令建立联系.

    1. 如何将本地仓库的内容全部覆盖远程仓库
      1. 方法1:强制推送(最常用)

# 强制推送到远程仓库的 master 分支

git  push  --force  origin  master

此命令直接覆盖远程仓库

# 或者使用更安全的强制推送(推荐)

git  push  --force-with-lease  origin  master

只在远程没有其他人推送新内容时才强制覆盖

      1. 方法2:删除远程分支后重新推送

# 1. 删除远程分支

git  push  origin  --delete  master

# 2. 重新推送本地分支

git  push  -u  origin  master

      1. 方法3:重置本地仓库后强制推送

# 1. 删除本地 .git 文件夹(备份重要文件!)

rm  -rf  .git

# 2. 重新初始化 Git 仓库

git  init

# 3. 添加远程仓库

git  remote  add  origin  <远程仓库地址>

# 4. 添加文件并提交

git  add  .

git  commit  -m  "初始提交"

# 5. 强制推送

git  push  -f  origin  master

    1. 如何将远程仓库覆盖本地仓库
      1. 方法1:使用git reset --hard(最常用)

这种方法会强制将本地分支重置到与远程分支完全一致的状态

# 1. 获取远程仓库的最新信息

git  fetch  origin

# 2. 将本地分支重置到远程分支的状态(完全覆盖)

git  reset  --hard  origin/master

# 如果是其他分支,比如 main 分支

git  reset  --hard  origin/main

      1. 方法2:使用git checkout和git reset组合

# 1. 切换到要覆盖的分支

git  checkout  master

# 2. 获取远程更新

git  fetch  origin

# 3. 重置到远程分支

git  reset  --hard  origin/master

      1. 方法3:删除本地分支后重新检出

# 1. 备份当前仓库的重要文件(如果有需要保留的)

cp  -r  your-project  your-project-backup

# 2. 删除本地仓库

rm -rf your-project

# 3. 重新克隆远程仓库

git  clone  <远程仓库地址>

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐