VS Code中使用Git管理代码
以下内容由AI生成,亲测可用(除了最后的GitHub)。
可以把 Git 理解为一个 “超级后悔药” 或者 “时光机”。
为什么要用它?
你肯定有过这种经历:把代码文件名改成 code_v1.py, code_v2_final.py, code_v3_really_final.py… 最后自己都乱了。或者,你改了几行代码想优化算法,结果跑崩了,想改回去却忘了原来长什么样。
Git 就是为了解决这个问题。它能记录你每一次的修改,让你随时回退到过去的任何一个状态。
结合你的 WSL + VS Code 环境,我教你一套最直观、最少命令的“图形化”操作流程。
第一阶段:初次见面(配置身份)
在使用时光机之前,你得先告诉系统“是谁在使用它”,这样以后的记录才会显示是“你”做的修改。
- 操作界面:WSL 终端(在 VS Code 下方的终端,或者单独的 Ubuntu 窗口)。
- 显示结果:输入后没有任何提示,这是正常的(Linux 哲学:没有消息就是好消息)。
- 目的:给你的代码提交打上“防伪标签”。
操作:输入以下两行命令(把名字和邮箱换成你的):
git config --global user.name "Your Name"git config --global user.email "[email protected]"如果要在 VS Code的内置终端中查看当前 Git 的用户名,操作方式与普通终端完全一致。以下是具体方法:
✅ 1. 查看当前仓库配置的用户名(局部配置)
git config user.name - 该命令会显示当前 Git 仓库中设置的用户名。
- 如果当前目录不是 Git 仓库,或未单独设置局部用户名,则可能无输出。
✅ 2. 查看全局配置的用户名
git config --global user.name - 该命令显示你在系统全局设置的 Git 用户名(适用于所有未单独配置的仓库)。
✅ 3. 查看所有 Git 配置(包括用户名、邮箱等)
git config --list - 在输出中查找
user.name字段即可看到生效的用户名(注意:局部配置优先于全局)。
先确保你在 Git 项目根目录下(即包含 .git 文件夹的目录),这样 git config user.name 才能反映该项目的实际提交身份。
第二阶段:建立档案(初始化仓库)
假设你已经在 WSL 里新建了一个项目文件夹 ~/projects/my_rl_project。
- 操作界面:VS Code(已连接到 WSL,并打开了该项目文件夹)。
- 操作:
- 点击 VS Code 左侧侧边栏的第三个图标(看起来像一个分叉的树枝,鼠标悬停会显示 “Source Control” 或 “源代码管理”)。
- 你会看到一个蓝色的按钮:“Initialize Repository” (初始化仓库)。点击它。
- 显示结果:
- 按钮消失了。
- 侧边栏里列出了你文件夹里所有的文件(比如
main.py,data.csv),它们旁边有个U标记。
- 目的:在当前文件夹里创建一个隐藏的
.git目录。从此,Git 开始监控这个文件夹里的一切变化。 - 注意:这一步每个项目只做一次。
第三阶段:日常存档(核心循环)
这是你以后每天都要做的事情。Git 的存档分两步:挑选文件 (Add) -> 确认存档 (Commit)。
1. 忽略不需要的文件 (非常重要!)
科研项目里,数据文件(data) 和 模型权重(.pth) 通常很大,不适合用 Git 管理(Git 适合管理代码文本)。我们需要让 Git “无视”它们。
- 操作界面:VS Code 文件资源管理器。
- 操作:
- 在项目根目录下新建一个文件,命名为
.gitignore(注意前面有个点)。 - 保存文件。
- 在项目根目录下新建一个文件,命名为
- 显示结果:你会发现左侧源代码管理栏里,那些
.csv或.pth文件消失了(Git 不再关心它们了),而.gitignore变成了绿色U。
在文件里写入你想忽略的文件类型或文件夹,例如:
__pycache__/ *.pth *.csv data/ results/ 2. 暂存更改 (Stage / Add) —— “把文件放入购物车”
- 操作界面:VS Code “源代码管理” 侧边栏。
- 操作:
- 你会看到 “Changes” (更改) 列表下有你修改过或新建的文件。
- 把鼠标移到 “Changes” 这个标题栏上,点击右边的
+(加号) 按钮。
- 显示结果:所有的文件从 “Changes” 列表移动到了 “Staged Changes” (暂存的更改) 列表。
- 目的:这相当于告诉 Git:“我这次想保存这些文件的修改”。(就像把商品放进购物车,但还没结账)。
3. 提交存档 (Commit) —— “结账/生成快照”
- 操作界面:VS Code “源代码管理” 侧边栏。
- 操作:
- 在上面的文本框(Message)里写一句话,描述你干了什么。比如:“完成了RL环境的初始化” 或者 “修复了奖励函数的bug”。
- 点击上方的
Commit(提交) 按钮(通常是一个对勾✓或者写着 “Commit” 的蓝色按钮)。
- 显示结果:所有文件列表都清空了。
- 目的:生成了一个“存档点”。现在你的代码被永久记录下来了。你可以放心大胆地继续改代码,改坏了随时能找回这一刻的状态。
第四阶段:时光倒流(查看与回退)
1. 查看历史
- 操作界面:VS Code。
- 建议插件:安装一个叫 “Git Graph” 的插件(强烈推荐,可视化极佳)。
- 操作:
- 安装插件后,点击左下角状态栏的 “Git Graph” 按钮。
- 你会看到一张像地铁线路图一样的表,每一行都是你的一次 Commit,写着你的描述和时间。
- 目的:清晰地看到你在这个项目上做了哪些工作。
2. 放弃修改(后悔药)
假设你今天写了一堆代码,结果发现思路全错了,想回到昨天提交完的状态。
- 操作界面:VS Code “源代码管理” 侧边栏。
- 操作:
- 在 “Changes” 列表里,找到那个你改乱了的文件。
- 点击该文件旁边的 “Discard Changes” (放弃更改) 图标(看起来像一个倒转的箭头)。
- 确认弹窗。
- 显示结果:文件瞬间变回了上一次 Commit 时的样子。
- 注意:这个操作是不可逆的! 还没 Commit 的修改一旦放弃就真没了。
第五阶段:云端备份(GitHub)
为了防止你电脑硬盘坏了,或者你想在另一台电脑上工作,你需要把代码传到云端。
- 操作界面:VS Code。
- 前提:你需要有一个 GitHub 账号。
- 操作:
- 在 VS Code “源代码管理” 面板,点击 “Publish Branch” (发布分支) 按钮。
- VS Code 会提示你登录 GitHub(按提示在浏览器授权即可)。
- 选择 “Publish to GitHub private repository” (发布到 GitHub 私有仓库)。科研代码通常选私有,除非你想开源。
- 显示结果:
- VS Code 右下角会转圈,然后提示 “Successfully published…”。
- 登录 GitHub 网站,你能看到你的代码已经在那儿了。
- 后续操作:以后你每次在本地 Commit 完之后,点击左下角的 “Sync Changes” (同步更改) 循环箭头图标,代码就会推送到 GitHub。
总结:你的科研代码管理日常
- 早上开始工作:打开 VS Code。
- 写代码:修改
train.py,调试,跑通了。 - 存档 (Git):
- 点开左侧源代码管理。
- 点
+号(放入购物车)。 - 输入“调整了学习率,从0.01改为0.001”(写备注)。
- 点
Commit(结账)。
- 备份 (Push):
- 点左下角的同步图标(上传到云端)。
- 下班。
这样,你再也不需要手动复制文件夹备份了。即使你把代码改得面目全非,打开 Git Graph 也能随时找回之前的版本。