VScode项目推送到git仓库

配置 .gitignore

在初始化仓库后,建议先在项目根目录创建 .gitignore 文件,写入 node_modules/.envdist/ 这类不需要上传的依赖或配置文件名,然后再执行 git add .。这样可以有效避免把敏感信息或巨大依赖包传上去。

具体操作步骤

  1. 打开 .gitignore 文件

    在 VS Code 的资源管理器中,找到并打开 .gitignore 文件(如果还没有这个文件,在项目根目录新建一个,文件名就是 .gitignore

  2. 添加忽略规则

    .gitignore 文件中添加以下内容:

    复制代码
    # 忽略 dataset 文件夹及其所有内容
    dataset/

    如果你的 .gitignore 已经有一些内容(比如Python项目常见的忽略规则),直接在这个文件末尾加上 dataset/ 这一行就行。

  3. 保存文件

  4. 如果之前已经 commit 过 dataset(关键步骤)

    如果你已经执行过 git add . 或者 git commitdataset 可能已经被 Git 追踪了。这时需要先停止追踪

    在 VS Code 的终端中执行:

    复制代码
    git rm -r --cached dataset

    这个命令会从 Git 的追踪中移除 dataset 文件夹,但不会删除你本地的文件

  5. 重新添加并提交

    复制代码
    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 没有显示在 ChangesUntracked files 中,说明设置成功了。

🚨 重要提醒

  • .gitignore 只对尚未被 Git 追踪的文件生效 。如果你之前已经 commit 过 dataset,一定要执行上面的 git rm -r --cached dataset 命令。

  • 如果 dataset 文件夹非常大,执行 git rm -r --cached dataset 后,再执行 git push 时,这次推送会从 GitHub 仓库中删除 之前上传的 dataset 文件夹。这是正常现象,不用担心。

推送具体流程:

  1. 在 VS Code 中打开终端(Ctrl/Cmd + `)。

  2. 在项目根目录依次执行以下命令:

    复制代码
    # 初始化本地仓库
    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 <文件名>

✅ 推荐工作流程

  1. 先查看历史git log --oneline

  2. 创建备份git branch backup-before-reset

  3. 执行回退 :用 git reset --soft(最安全)

  4. 验证结果git log --onelinegit status

  5. 强制推送git push --force origin main(如果需要)

🔍 查看推送目标

复制代码
# 查看远程仓库地址
git remote -v

# 查看本地分支与远程分支的关联
git branch -vv

建议:如果你只是想看看之前的版本,不打算真的回退,可以用:

复制代码
# 临时切换到某次提交(只读状态)
git checkout <commit-id>

# 恢复回来
git checkout main
相关推荐
zhangfeng11333 小时前
宝塔服务器完全可以安装 Git,进行版本管理,而且非常简单
运维·服务器·人工智能·git·编程
SilentSamsara3 小时前
装饰器基础:从闭包到装饰器的自然演变
开发语言·前端·vscode·python·青少年编程·pycharm
Bdygsl4 小时前
Git(1)—— 基本理解与使用
git
【 STM32开发 】5 小时前
VSCode 安装图解
ide·vscode·编辑器
JiaWen技术圈5 小时前
增量静态再生(ISR)详解:Next.js 中的实现与应用
javascript·git·ubuntu
_ 川三西6 小时前
Anaconda安装后环境变量的添加
vscode·conda
CHINA红旗下7 小时前
如何使用vscode开发STM32
ide·vscode·stm32
boonya7 小时前
Idea CC GUI插件如何通过 CC Switch 工具将 Claude Code 的后端配置为 DeepSeek 的 v4-pro 模型?
java·ide·intellij-idea
The Chosen One9857 小时前
【Linux】深入理解Linux进程(二):进程的状态
linux·运维·服务器·开发语言·git