diff --git a/git命令_如何上传.md b/git命令_如何上传.md index e69de29..89c9da4 100644 --- a/git命令_如何上传.md +++ b/git命令_如何上传.md @@ -0,0 +1,164 @@ + +git config --global user.name "fei" +git config --global user.email "fei@fei.fei" + + +在 Linux 中使用 `git` 命令连接自建的 Gitea 仓库并完成初始化提交,主要分为**配置环境**、**在 Gitea 网页端创建仓库**(Git 本身不提供远程创建仓库的命令,除非使用 API)以及**本地操作**三个步骤。 + +以下是具体的操作流程: + +### 1. 配置本地 Git 环境 + +如果是第一次使用 Git,需要先配置身份标识,否则提交会报错。 + +```bash +git config --global user.name "你的用户名" +git config --global user.email "你的邮箱" + +``` + +--- + +### 2. 在 Gitea 网页端手动创建仓库 + +Git 协议本身不支持通过命令行直接在远程服务器上“新建”一个项目。你需要: + +1. 登录你的 Gitea 页面。 +2. 点击右上角的 **+** 号 -> **新建仓库**。 +3. 输入 **仓库名称**(例如:`my-project`),不要勾选“初始化仓库”(保持仓库为空)。 +4. 点击 **创建仓库**,获取仓库地址(推荐使用 SSH 或 HTTPS)。 + +--- + +### 3. 初始化并提交当前文件夹 + +进入你想要上传的文件夹,执行以下操作: + +```bash +# 进入目标文件夹 +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` 文件: + +```bash +echo "credentials.yaml" >> .gitignore +echo "*.log" >> .gitignore + +``` + +#### 修改分支名 + +现在的 Gitea 默认分支可能叫 `main`。如果你推送时报错,可以尝试先重命名本地分支再推送: + +```bash +git branch -M main +git push -u origin main + +``` + +你想了解如何通过 Gitea API 使用命令行自动创建远程仓库,从而跳过网页操作吗? + + +是的,你需要**先在 Gitea 网页端手动创建一个仓库**,然后才能在命令行关联它。 + +即使你本地已经有文件夹和代码了,Git 也无法直接通过 `remote add` 命令在服务器上“生”出一个仓库。 + +### 第一步:在 Gitea 网页端创建仓库 + +1. 打开浏览器,访问 `https://git.jpd.net3w.com`(推荐使用 HTTPS)。 +2. 使用账号 `gitea_admin` 登录。 +3. 点击页面右上角的 **+** 号 -> **创建仓库**。 +4. **仓库名称**:填 `k3s_auto_deploy`(或者任何你喜欢的名字)。 +5. **注意**:**不要**勾选“初始化仓库”、“设置 .gitignore”或“选择授权许可”。我们要的是一个**完全空白**的仓库。 +6. 点击底部的 **创建仓库**。 + +--- + +### 第二步:在本地 Linux 终端执行命令 + +创建好后,Gitea 会显示该仓库的地址。根据你的信息,命令应该这样写: + +```bash +# 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` 可能都要输密码,这在自动化部署中很不方便。你有两个选择: + +1. **让 Git 记住密码(简单):** +执行 `git config --global credential.helper store`。下次输入正确后,密码会加密存在你的 `/home/fei/` 目录下。 +2. **使用 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 就能看到你的文档已经整整齐齐地躺在私有仓库里了。 +