
Git 操作笔记这个文档记录本项目最常用的 Git / GitHub 操作。以后每次改完代码可以按这里一步一步做。GitHub 仓库 text https://github.com/stduliang/yolov5-deploy.git1. 先进入项目目录打开 PowerShell然后输入cd C:\Users\YPL\Desktop\yolov52. 查看当前状态每次操作 Git第一步都建议先看状态git status常见结果说明nothing to commit, working tree clean表示当前没有需要保存的代码修改。Changes not staged for commit表示有文件改了但还没有选择要保存哪些文件。Changes to be committed表示文件已经 add准备 commit。Your branch is ahead of origin/main by 1 commit表示本地已经 commit 了但还没有 push 到 GitHub。Your branch is up to date with origin/main表示本地和 GitHub 已同步。3. 查看改了哪些文件看简短列表git status--short看每个文件改了多少gitdiff--stat看某个文件具体改了什么例如gitdiff--CMakeLists.txt4. 不要随便 git add .本项目里有模型文件例如data/yolov5/ yolov5s-0.onnx *.onnx *.trt这些文件通常很大不建议直接提交到 GitHub。所以不要随便用git add.更推荐明确写出要提交的代码文件。例如这次 Windows 编译相关修改只提交这几个git add CMakeLists.txt app_yolov5.cppcmake/common.cmake5. 保存到本地 Gitadd 之后执行 commitgit commit-mAdapt project for Windows TensorRT buildcommit 的意思是把当前选中的修改保存到本地 Git 历史里。注意commit 只是保存在自己电脑里还没有上传到 GitHub。6. 上传到 GitHubgit push origin main成功时会看到类似To https://github.com/你的用户名/你的仓库名.git 22f8875..d0341b6 main - main这表示 GitHub 上的 main 分支已经更新成功。7. 上传后确认push 成功后再检查一次git status理想结果Your branch is up to date with origin/main.如果还看到Untracked files: data/yolov5/这是正常的。它表示模型文件还没有提交我们是故意不提交它。8. Visual Studio 里查看 Git 改动如果用 Visual Studio打开 Visual Studio。选择File - Open - Folder。打开项目目录项目目录打开菜单视图 - Git 更改。在git 更改里可以看到修改过的文件。点击某个文件可以查看具体 diff。对修改后的每个文件右键“暂存”只暂存需要提交的代码文件不要暂存大文件。填写 “提交信息”。点击全部提交再从工具栏Git中推送。或者直接“全部提交并推送”上传到 GitHub。重点不要直接点全部提交除非你确认所有文件都应该提交。9. GitHub 上传失败如果执行git push origin main报错fatal: unable to access https://github.com/...: Recv failure: Connection was aborted通常是网络问题。先测试 GitHub 端口Test-NetConnectiongithub.com-Port 443本机代理端口是10808所以设置git config--global http.proxy http://127.0.0.1:10808git config--global https.proxy http://127.0.0.1:10808确认是否设置成功git config--global--get http.proxygit config--global--get https.proxy应该都显示http://127.0.0.1:10808然后重新上传git push origin main取消 Git 代理git config--global--unset http.proxygit config--global--unset https.proxy10. 最常用的一套流程以后每次改完代码按这个顺序来git status查看改了哪些文件gitdiff--stat只添加要保存的代码文件git add 文件1 文件2 文件3提交到本地git commit-m说明这次改了什么上传到 GitHubgit push origin main最后确认git status看到Your branch is up to date with origin/main.就说明这次代码已经安全保存。11. 如果错误提交了如何回退回退前先判断一件事这个错误提交有没有 push 到 GitHub判断方法git status再看最近提交git log--oneline-5情况一还没有 push如果看到Your branch is ahead of origin/main by 1 commit说明这个提交只在本地还没有上传到 GitHub。如果想撤销最近一次 commit但保留文件修改用git reset--soft HEAD~1这条命令的效果是commit 被撤销但代码修改还在。然后可以重新选择文件git add 文件1 文件2再重新提交git commit-m新的提交说明情况二已经 push 到 GitHub如果错误提交已经上传到 GitHub新手更推荐用git revert HEAD这条命令的效果是新建一个反向提交把上一次提交的修改撤回来。然后上传这个回退提交git push origin main这种方式不会破坏 GitHub 上已经存在的提交历史更安全。尽量不要随便用 hard下面这条命令很危险git reset--hard HEAD~1它会撤销 commit并且把代码修改也丢掉。除非非常确定这些修改不需要了否则不要用。