5.8 KiB
git config --global user.name "fei" git config --global user.email "fei@fei.fei"
在 Linux 中使用 git 命令连接自建的 Gitea 仓库并完成初始化提交,主要分为配置环境、在 Gitea 网页端创建仓库(Git 本身不提供远程创建仓库的命令,除非使用 API)以及本地操作三个步骤。
以下是具体的操作流程:
1. 配置本地 Git 环境
如果是第一次使用 Git,需要先配置身份标识,否则提交会报错。
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
2. 在 Gitea 网页端手动创建仓库
Git 协议本身不支持通过命令行直接在远程服务器上“新建”一个项目。你需要:
- 登录你的 Gitea 页面。
- 点击右上角的 + 号 -> 新建仓库。
- 输入 仓库名称(例如:
my-project),不要勾选“初始化仓库”(保持仓库为空)。 - 点击 创建仓库,获取仓库地址(推荐使用 SSH 或 HTTPS)。
3. 初始化并提交当前文件夹
进入你想要上传的文件夹,执行以下操作:
# 进入目标文件夹
cd /path/to/your/folder
# 1. 初始化本地仓库
git init
# 2. 将文件夹下的所有文件添加到暂存区
git add .
# 3. 提交到本地仓库
git commit -m "首次提交:初始化项目"
# 4. 关联 Gitea 远程仓库
# 请将下方链接替换为你刚才在 Gitea 创建仓库后获取的地址
git remote add origin http://your-gitea-ip:3000/username/my-project.git
# 5. 推送到远程仓库(通常主分支名为 master 或 main)
git push -u origin master
常见问题排查
方式选择:HTTPS vs SSH
- HTTPS: 每次推送可能需要输入 Gitea 的用户名和密码。如果你想免密,可以使用:
git config --global credential.helper store - SSH (推荐): 需要将你 Linux 机器的公钥(
~/.ssh/id_rsa.pub)添加到 Gitea 的“个人设置 -> SSH / GPG 密钥”中。这样后续推送无需密码。
关于 /home/fei/k3s/ 目录的特别提醒
考虑到你习惯将配置文件放在 /home/fei/k3s/,如果该目录下包含敏感信息(如 kubeconfig 或 S3 的 Secret 密钥),建议在 git init 后立即创建一个 .gitignore 文件:
echo "credentials.yaml" >> .gitignore
echo "*.log" >> .gitignore
修改分支名
现在的 Gitea 默认分支可能叫 main。如果你推送时报错,可以尝试先重命名本地分支再推送:
git branch -M main
git push -u origin main
你想了解如何通过 Gitea API 使用命令行自动创建远程仓库,从而跳过网页操作吗?
是的,你需要先在 Gitea 网页端手动创建一个仓库,然后才能在命令行关联它。
即使你本地已经有文件夹和代码了,Git 也无法直接通过 remote add 命令在服务器上“生”出一个仓库。
第一步:在 Gitea 网页端创建仓库
- 打开浏览器,访问
https://git.jpd.net3w.com(推荐使用 HTTPS)。 - 使用账号
gitea_admin登录。 - 点击页面右上角的 + 号 -> 创建仓库。
- 仓库名称:填
k3s_auto_deploy(或者任何你喜欢的名字)。 - 注意:不要勾选“初始化仓库”、“设置 .gitignore”或“选择授权许可”。我们要的是一个完全空白的仓库。
- 点击底部的 创建仓库。
第二步:在本地 Linux 终端执行命令
创建好后,Gitea 会显示该仓库的地址。根据你的信息,命令应该这样写:
# 1. 关联远程仓库 (推荐使用域名 HTTPS 方式)
git remote add origin https://git.jpd.net3w.com/gitea_admin/k3s_auto_deploy.git
# 2. 如果你想使用 NodePort 方式(备选):
# git remote add origin http://149.13.91.216:30080/gitea_admin/k3s_auto_deploy.git
# 3. 推送代码
# 第一次推送时,Git 会弹窗或提示你输入用户名和密码
# 用户名: gitea_admin
# 密码: 12341234
git push -u origin master
进阶:如何实现“免密”推送?
由于你使用的是 HTTPS 链接,每次 push 可能都要输密码,这在自动化部署中很不方便。你有两个选择:
- 让 Git 记住密码(简单):
执行
git config --global credential.helper store。下次输入正确后,密码会加密存在你的/home/fei/目录下。 - 使用 SSH 密钥(专业):
将你的
~/.ssh/id_rsa.pub内容复制到 Gitea 的“个人设置 -> SSH / GPG 密钥”中。然后将远程地址改为 SSH 格式:git remote set-url origin git@git.jpd.net3w.com:gitea_admin/k3s_auto_deploy.git
小贴士:
在执行 git push 之前,别忘了处理上一步提到的 k3s-ansible 文件夹。如果你决定把它当作普通文件夹处理,记得先运行:
rm -rf k3s-ansible/.git && git add . && git commit -m "准备好推送了"
关联仓库后,推送成功了吗?如果不成功,请把报错信息发给我。
建议操作:建立一个专门的“知识库”仓库 除了项目相关的文档,你还可以单独建一个名为 Wiki 或 Knowledge 的仓库:
分门别类:创建 /K3s/、/Networking/、/Linux-Commands/ 等文件夹。
随时提交:在本地用你习惯的编辑器(比如 Cursor 或 VS Code)写完,一个 git push 就同步到了你的私有云端。
多端同步:你可以在家里电脑、公司电脑甚至手机上(通过支持 Git 的编辑器)随时查看这些文档。
一个小技巧: 如果你在本地 k3s自动化部署 文件夹里写了多份 .md 文件,你可以给它们起个好名字,比如 01-环境准备.md、02-安装脚本说明.md。
你现在关联并推送成功了吗?如果成功了,你打开 http://git.jpd.net3w.com 就能看到你的文档已经整整齐齐地躺在私有仓库里了。