配置 .gitignore
在初始化仓库后,建议先在项目根目录创建 .gitignore 文件,写入 node_modules/、.env、dist/ 这类不需要上传的依赖或配置文件名,然后再执行 git add .。这样可以有效避免把敏感信息或巨大依赖包传上去。
具体操作步骤
-
打开
.gitignore文件在 VS Code 的资源管理器中,找到并打开
.gitignore文件(如果还没有这个文件,在项目根目录新建一个,文件名就是.gitignore) -
添加忽略规则
在
.gitignore文件中添加以下内容:# 忽略 dataset 文件夹及其所有内容 dataset/如果你的
.gitignore已经有一些内容(比如Python项目常见的忽略规则),直接在这个文件末尾加上dataset/这一行就行。 -
保存文件
-
如果之前已经 commit 过 dataset(关键步骤)
如果你已经执行过
git add .或者git commit,dataset可能已经被 Git 追踪了。这时需要先停止追踪:在 VS Code 的终端中执行:
git rm -r --cached dataset这个命令会从 Git 的追踪中移除
dataset文件夹,但不会删除你本地的文件。 -
重新添加并提交
git add . git commit -m "更新 .gitignore,忽略 dataset 文件夹"
💡 额外建议:你的项目还可能想忽略这些
根据你的项目中有 .venv(Python虚拟环境)和训练脚本,建议在 .gitignore 中再加上:
# Python 虚拟环境
.venv/
venv/
env/
# Python 缓存
__pycache__/
*.pyc
# 训练产生的文件(如果有)
*.pt
*.pth
*.ckpt
runs/
weights/
✅ 验证是否生效
执行以下命令,确认 dataset 不再出现在待提交列表中:
git status
如果 dataset 没有显示在 Changes 或 Untracked files 中,说明设置成功了。
🚨 重要提醒
-
.gitignore只对尚未被 Git 追踪的文件生效 。如果你之前已经 commit 过dataset,一定要执行上面的git rm -r --cached dataset命令。 -
如果
dataset文件夹非常大,执行git rm -r --cached dataset后,再执行git push时,这次推送会从 GitHub 仓库中删除 之前上传的dataset文件夹。这是正常现象,不用担心。
推送具体流程:
-
在 VS Code 中打开终端(Ctrl/Cmd + `)。
-
在项目根目录依次执行以下命令:
# 初始化本地仓库 git init # 添加所有文件到暂存区,或创建 .gitignore 排除不需要的文件 git add . # 提交文件,记得写提交信息 git commit -m "首次提交" # 添加远程仓库地址,请将 <你的仓库地址> 替换成你自己的 git remote add origin <你的仓库地址> # 将当前分支重命名为 main (保持与 GitHub 一致) git branch -M main # 推送到 GitHub git push -u origin main注意:
<你的仓库地址>需要先在 GitHub 网页端手动创建一个空仓库,然后复制它提供的 URL。
常见问题:
推送出现代理问题fatal: unable to access 'https://github.com/ZhangLing0513/CMFADET.git/': Failed to connect to github.com port 443 after 21180 ms: Could not connect to servers
配置 Git 代理(如果你开了 代理)
需要告诉 Git 使用代理:
# 先查看你的代理端口(一般是 7890、10809、1080 等)
# 以常见端口 7890 为例:
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# 然后重新推送
git push -u origin main
推送出现超时问题: fatal: the remote end hung up unexpectedly Everything up-to-date
#设置缓冲区:
git config --global http.postBuffer 524288000
#设置更长的超时时间(单位:秒)
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
# 重新推送
git push -u origin main
查看推送记录(提交历史)
基础查看命令
# 查看所有提交历史
git log
# 查看简洁版本(一行显示)
git log --oneline
# 查看最近5次提交
git log -5 --oneline
# 查看图形化历史(更直观)
git log --oneline --graph --all
返回提交版本
场景1:刚提交了错误内容,想撤销
# 撤销最近一次提交,但保留修改
git reset --soft HEAD~1
# 重新修改后再次提交
git add .
git commit -m "正确的提交"
git push --force
场景2:想完全回到3天前的版本
# 找到3天前的提交
git log --oneline
# 回到那个版本(⚠️ 会丢失之后的所有修改)
git reset --hard <commit-id>
git push --force
场景3:只撤销某个文件的修改
# 将文件恢复到最近提交的状态
git checkout -- <文件名>
# 更安全的方式
git restore <文件名>
✅ 推荐工作流程
-
先查看历史 :
git log --oneline -
创建备份 :
git branch backup-before-reset -
执行回退 :用
git reset --soft(最安全) -
验证结果 :
git log --oneline和git status -
强制推送 :
git push --force origin main(如果需要)
🔍 查看推送目标
# 查看远程仓库地址
git remote -v
# 查看本地分支与远程分支的关联
git branch -vv
建议:如果你只是想看看之前的版本,不打算真的回退,可以用:
# 临时切换到某次提交(只读状态)
git checkout <commit-id>
# 恢复回来
git checkout main