如何本地部署git远程仓库实现代码管理
如何在本地部署gitlab一样的代码管理平台
实现代码远程管理的工具有很多,如gitlab,github等,但对于小的项目团队,如果能在本地部署一个类似于gitlab这样的代码管理平台,对于开发还是很方便的.下面就介绍一个超级神器,就是gitea.
- gitea解决哪些问题
gitea可以在本地创建类似gitlab的远程服务器代码仓库,可以实现在本地进行代码的推送和拉取管理,实现局域网内开发组成员代码提交与拉取,相当于用gitea架设了一个本地gitlab服务器.
- 搭建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代码仓库了.
- 有关git远程仓库和本地仓库操作的命令举例
以下是有关本地仓库和远程仓库代码
-
- 设置本地仓库的用户名和邮箱地址
在本地安装完git后,创建本地仓库需要设置用户名和邮箱地址.
设置用户名
git config --global user.name "你的用户名"
设置邮箱地址
git config --global user.email "你的邮箱@example.com"
-
- 已经存在的本地仓库如何设置远程仓库地址信息
设置本地仓库远程代码仓库地址,命令如下:
git remote add origin http://192.168.1.80:3000/git_sun/quickly_study_gitlab.git
-
- 如何建立本地代码仓库分支与远程仓库分支联系
将本地 master 分支推送到远程仓库 origin,并建立跟踪关系
命令如下:
git push --set-upstream origin master
本地已有的代码仓库,将推送到指定的远程仓库,设置了远程仓库地址,但没有设置本地哪个分支与远程仓库的分支建立联系,此时使用此命令建立联系.
-
- 如何将本地仓库的内容全部覆盖远程仓库
- 方法1:强制推送(最常用)
- 如何将本地仓库的内容全部覆盖远程仓库
# 强制推送到远程仓库的 master 分支
git push --force origin master
此命令直接覆盖远程仓库
# 或者使用更安全的强制推送(推荐)
git push --force-with-lease origin master
只在远程没有其他人推送新内容时才强制覆盖
-
-
- 方法2:删除远程分支后重新推送
-
# 1. 删除远程分支
git push origin --delete master
# 2. 重新推送本地分支
git push -u origin master
-
-
- 方法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:使用git reset --hard(最常用)
- 如何将远程仓库覆盖本地仓库
这种方法会强制将本地分支重置到与远程分支完全一致的状态
# 1. 获取远程仓库的最新信息
git fetch origin
# 2. 将本地分支重置到远程分支的状态(完全覆盖)
git reset --hard origin/master
# 如果是其他分支,比如 main 分支
git reset --hard origin/main
-
-
- 方法2:使用git checkout和git reset组合
-
# 1. 切换到要覆盖的分支
git checkout master
# 2. 获取远程更新
git fetch origin
# 3. 重置到远程分支
git reset --hard origin/master
-
-
- 方法3:删除本地分支后重新检出
-
# 1. 备份当前仓库的重要文件(如果有需要保留的)
cp -r your-project your-project-backup
# 2. 删除本地仓库
rm -rf your-project
# 3. 重新克隆远程仓库
git clone <远程仓库地址>
更多推荐
所有评论(0)