必须先 git init 初始化本地仓库,再创建 .gitignore、选择性 git add 源码、git commit -m "initial commit"、git branch -m main、git remote add origin ,最后 git push -u origin main。

第一次提交本地代码,不是“先 push 再配置”,而是必须先完成本地仓库初始化、首次提交、再关联远程、最后推送——顺序错一步,git push 就会报 fatal: The current branch main has no upstream branch 或直接拒绝。
怎么初始化本地 Git 仓库
只有项目根目录下存在 .git 文件夹,Git 才认为这是受控仓库。没它,所有 git add、git commit 都无效。
- 进入你的项目实际代码根目录(确保能看到所有源文件,如
src/、CMakeLists.txt等) - 执行
git init—— 它会在当前目录生成隐藏的.git/目录 - 别跳过这步去直接
git remote add:没有本地仓库,远程地址根本无处绑定
为什么不能直接 git add . 就提交
git add . 会把当前目录下所有未被忽略的文件都纳入暂存区,包括编译产物(build/)、IDE 配置(.idea/)、日志(app.log)等。一旦提交,这些垃圾文件就进了历史记录,后续很难清理干净。
部署一个包含 4 个智能体(agent)的数字孪生平台。在以下情况下使用该技能: 1. 用户希望为物理资产监控与预测性维护等场景搭建数字孪生系统……
- 先创建
.gitignore文件,填入常见需忽略项(例如:build/、*.log、.DS_Store) - 再运行
git status确认哪些文件是绿色(已跟踪)、哪些是红色(未跟踪但未忽略) - 只对真正要版本管理的源码文件执行
git add,比如git add src/ main.cpp
首次提交必须用 git commit -m,不能省略参数
git commit 不带 -m 会调起默认编辑器(通常是 vim),新手容易卡在不会保存退出,导致提交中断、暂存区残留、后续命令行为异常。
- 首次提交建议写
git commit -m "Initial commit",语义清晰且能通过大多数 CI 检查 - 别用空格或中文路径命名分支——Git 默认创建
master分支,但新仓库推荐统一用main:git branch -M main - 此时仍只是本地操作,
git log能看到提交,git status显示 “nothing to commit”
关联远程仓库和推送的正确顺序
很多人卡在 git push origin main 报错,本质是漏了上游绑定。Git 不知道该把本地 main 推到远程哪个分支,也不清楚远程叫什么名字。
- 先执行
git remote add origin 远程仓库地址(地址必须是 HTTPS 或 SSH 格式,如https://gitlab.com/user/repo.git) - 再执行
git push -u origin main:其中-u是关键,它把本地main和远程origin/main绑定为上游分支 - 绑定后,后续只需
git push或git pull,无需再写完整分支名
最容易被忽略的一点:远程仓库必须是空的(不能含 README.md 或 .gitignore),否则 git push -u origin main 会失败并提示非快进合并(non-fast-forward)。如果已误初始化,要么清空远程仓库,要么先 git pull origin main --allow-unrelated-histories 再推——但首次提交不该走这条路。










