第一步:在 GitHub 上创建新仓库

  1. 登录 GitHub。

  2. 点击右上角的 + 号 -> New repository

  3. 输入仓库名称(例如 workflow-gateway)。

  4. 不要勾选 “Initialize this repository with a README”(保持仓库为空)。

  5. 点击 Create repository

  6. 复制屏幕上显示的 HTTPS 或 SSH 地址(例如 https://github.com/你的用户名/workflow-gateway.git)。

第二步:清理并初始化本地仓库

打开终端,进入你的源代码根目录(也就是包含 CMakeLists.txt 的那一层):

1
2
3
4
5
# 1. 进入项目目录 (根据你的实际路径调整)
cd ~/cpp58/gateway/gateway

# 2. 初始化 Git 仓库
git init

第三步:创建 .gitignore 文件 (关键!)

我们需要告诉 Git 忽略掉 build 文件夹和编译出来的二进制文件。 在终端中执行以下命令创建忽略规则:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 创建 .gitignore 文件
cat <<EOF > .gitignore
# 忽略编译生成的目录
build/
cmake-build-debug/

# 忽略可执行文件
gateway
server/server
test/benchmark

# 忽略临时对象文件
*.o
*.d
*.a
*.so

# 忽略 IDE 配置 (可选)
.vscode/
.idea/
.DS_Store
EOF

第四步:提交代码到本地

现在将剩下的源代码文件添加到暂存区并提交:

1
2
3
4
5
6
7
8
9
# 1. 添加当前目录下所有文件 (Git 会自动遵守 .gitignore 的规则)
git add .

# 2. 检查一下状态,确保 build 目录没有被添加进去
git status
# (你应该看到 new file: src/..., config/... 等,但不应该看到 build/...)

# 3. 提交
git commit -m "Initial commit: Workflow Gateway v1.0"

第五步:推送到 GitHub

将本地仓库与刚才在 GitHub 上创建的远程仓库关联,并推送代码:

1
2
3
4
5
6
7
8
# 1. 将分支重命名为 main (现在的标准做法)
git branch -M main

# 2. 关联远程仓库 (替换为你自己的 GitHub 地址)
git remote add origin https://github.com/你的用户名/workflow-gateway.git

# 3. 推送代码
git push -u origin main

常见问题解决

  1. 如果你之前已经不小心把 build 提交了: 执行以下命令将其从 Git 记录中删除(但不删除本地文件):

    Bash

    1
    2
    3
    git rm -r --cached build
    git commit -m "Stop tracking build directory"
    git push
  2. 密码验证问题: 自 2021 年起,GitHub 命令行不再支持密码验证。如果你在 git push 时被询问密码:

    • 用户名:输入你的 GitHub 用户名。

    • 密码:必须输入 Personal Access Token (PAT)

      • 去 GitHub 设置 -> Developer settings -> Personal access tokens -> Tokens (classic) -> Generate new token -> 勾选 repo 权限 -> 生成并复制那个以 ghp_ 开头的字符串作为密码。
    • 或者,如果你配置了 SSH Key,建议使用 SSH 地址 (git@github.com:...) 代替 HTTPS 地址。

  3. 重新生成 Token (一定要选 Classic)

    • 登录 GitHub,点击右上角头像 -> Settings
    • 在左侧最底部找到 Developer settings

    • 点击 Personal access tokens -> 选择 Tokens (classic) (不要选 Fine-grained)。

    • 点击 Generate new token -> Generate new token (classic)

    • 【关键步骤】

      • Note: 随便填(比如 gateway-push)。

      • Expiration: 建议选 No expiration(永不过期,或者是 30 天)。

      • Select scopes: 一定要勾选第一个 repo 复选框(这包含了对仓库的所有读写权限)。

    • 点击底部的 Generate token

    • 复制那个以 ghp_ 开头的字符串。