GIT下载:
【Git安装】Git安装流程和基础使用步骤(保姆级教程)_git安装教程-CSDN博客
Github+Git配置仓库:
【Git安装】Git安装流程和基础使用步骤(保姆级教程)_git安装教程-CSDN博客
Gitee+Git配置仓库:

gitee+git配置仓库_git配置gitee-CSDN博客
git工作流程图


本地仓库就是存放在你当前使用的电脑(或者你刚租的云服务器)硬盘上的一个隐藏文件夹(通常叫
.git)。它就像是一个本地的超级数据库,完整记录了你这个项目从创建以来的所有历史版本、分支和修改记录。
vscode使用git可视化工具:
自使用版
1.新建一个文件夹
2.用vscode打开文件夹并初始化仓库(就自动生成.git文件夹)
3.然后就可以正常去增删改查了,注意commit是提交到本地仓库
4.在gitee中创建一个远程仓库,本地仓库进行关联:
5.推送版本到远程仓库
公司使用版:
一般公司都以及有主分支与develop分支了
- 新建一个文件夹,用vscode打开,选择克隆公司的项目,输入URL,回车即可
2.点击分支,点击orgin/dev分支,就会自动在你的本地创建一个dev分支
3.一般你的组长每次给你一个功能开发,我们都是对应新建一个功能分支,如功能a分支,这个时候,我们基于dev分支创建一个feature分支
现在我们就可以在feature上进行开发,增删改了
开发完了,我们就可以选择推送,但是在推送之前,我们一定要先拉取最新代码解决冲突。这里可以选择拉取feature的,也可以选择拉取dev的,主要看你们公司的最新代码更新在了哪里。一般来说dev里回包含feature的最新改动,所以一般拉取自dev
- 在合并编辑器中解决冲突代码
- 解决完之后就可以进行推送
推送完之后选择创建pr,等待主管检查,合并进入dev
如何公司的习惯是自己推送到dev,那就如下操作:
(1)先签出到dev分支:
(2)在dev为基上,合并feature分支;
(3)这个时候有可能需要解冲突
(4)同步更改到远程:
同步更改就是先拉取orgin/dev的最新代码然后合并你本地的dev,然后再一起推送到orgin/dev,中间可能需要解冲突
如何使用GIT解决常见工作场景
开发完了手贱多提交或者漏交了一个文件,想要撤销,重新提交:
在源代码管理面板,点击顶部的
...。找到 "提交" (Commit) -> 点击 "撤销上次提交" (Undo Last Commit)。
效果 :奇迹出现了!你刚刚那次错误提交直接"灰飞烟灭",但你写的代码一行都没有丢,它们完好无损地回到了输入框上方的"更改"列表里。
这时,你只需要把那个漏掉的
config.yaml文件点一下+号 ,加上你原来的那批代码,重新输入一次完美的提交信息,再次点击 "提交" 即可。场景:"这行诡异的代码到底是谁写的?"
背景 :你发现
model.py里有一行极其反人类的代码,没有注释,还导致了你的数据维度报错。你想知道这是哪位大神(或者是哪个同事)在什么时间、出于什么目的写的。解决办法:
vscode自带绝招 :其实你只需要把鼠标光标点击到那行代码上 。注意看这行代码的最后面(或者 VS Code 的最底部状态栏),VS Code 会自动浮现一行浅灰色的字,比如 crj
, 3个月前 • fix: 调整了图像输入的维度。终极神器(强烈推荐安装) :在左侧扩展商店搜索并安装 GitLens 插件。装完之后,你的代码就像开启了"透视眼",每一行代码后面都会清清楚楚地跟着作者名字和当时提交的 Commit 记录。谁写的 Bug,一眼锁定,绝不背锅!
场景:走错房间------"糟糕,写嗨了,忘记切分支了!"
背景 :你一通操作猛如虎,写完了一个超酷的控制算法,并且开心地点击了"提交"(Commit)。突然你瞥了一眼左下角,冷汗下来了:你居然一直在受保护的
main(主分支)上操作!而公司规定新人只能在自己的dev分支上提交代码,main分支是不允许随便 Push 的。解决办法:
第一步(拔出代码) :在源代码面板点击
...-> "提交" -> "撤销上次提交" (Undo Last Commit) 。此时,你写好的代码全部从main分支的提交记录里退了出来,回到了"更改"列表(暂存区/工作区)里。第二步(带着代码跑路) :点击 VS Code 左下角那个写着
main的分支名字。在弹出的搜索框里选择 "创建新分支" (Create new branch)依据 ,选择依据main分支创建新分支,命名为dev并回车。第三步(在新房间落户) :奇迹发生了,你刚才写好的那些代码,跟着你一起"穿越"到了新的
dev分支上。现在,你可以安心地在dev分支下点击"提交"并 Push 了。main分支依旧干干净净,仿佛你从没来过。
场景:重量级灾难------"不小心把 500MB 的模型权重点进去了,Push 直接卡死!"
背景 :你刚训练完一个端到端模型,生成了一个 500MB 的
best_model.pth权重文件,或者下载了一个几个 G 的 CARLA 离线数据集。你习惯性地在 VS Code 里点了一下"全部暂存(+号)",然后一敲 Push......完了,GitHub 限制单文件不能超过 100MB,你的终端直接报错卡死,这辈子都 Push 不上去了。解决办法:
第一步(拿出来) :在左侧源代码管理面板,找到处于"暂存的更改"列表里的那个巨大的
.pth或数据文件夹,点击它右侧的 "-"号(取消暂存 / Unstage Changes)。把它从准备提交的清单里退出来。第二步(永久拉黑) :如果它还在"更改"列表里碍眼,鼠标右键 点击这个巨大的文件,在弹出的菜单里选择 "添加到 .gitignore" (Add to .gitignore)。
效果 :VS Code 会自动帮你创建一个隐藏文件
.gitignore。从此以后,Git 就像瞎了一样,再也不会监控这个大文件了,你以后随便怎么点"全部暂存",它都不会被误传到云端。
场景九:时光机------"上周那一版还能跑通,我能穿越回去看一眼源码吗?"
背景:你昨天为了优化 TCP 的轨迹预测分支,大改了一通网络结构。结果今天一跑,Loss 直接爆炸。你极其怀念三天前那个虽然粗糙但至少能跑通的旧版本,你想把那时候的代码翻出来"抄"一下,但又不想破坏现在已经写好的新结构。
解法:
自带绝招(时间线面板) :在 VS Code 最左侧点击第一个"资源管理器"图标(就是你平时看文件夹的那个)。在面板的最左下角 ,找到一个叫 "时间线" (Timeline) 的折叠栏,点开它。
效果 :当你选中任何一个文件(比如
model.py)时,时间线里会列出这个文件从古至今的每一次 Commit 记录!对比与抄代码:点击时间线里的任何一个旧版本,VS Code 会直接弹出一个左右对比的窗口。左边是三天前的旧代码,右边是你现在写炸的新代码。你可以极其从容地把左边的正确代码复制,粘贴到右边救场。
场景十二:强迫症福音------"本地提了七八个琐碎的 Commit,推送到云端前想合并成一个"
背景:你在调参的时候,频繁提交了"改学习率"、"改 batch size"、"又改回去了"等一堆垃圾记录。你想在 Push 到 Gitee 或 GitHub 之前,把它们打包成一个干净的"优化模型参数"大提交。
解法("无赖"撤销流):
疯狂撤销 :利用我们之前学的绝招,连续点击
...-> "提交" -> "撤销上次提交"。你有几个碎片的 Commit,就点几次!一次成型 :点完之后,你会发现这些提交记录消失了,但所有的代码修改全部安全地回到了你的"更改"列表里。
重新打包 :此时,你只需要把它们全部暂存(点
+号),写上一个极其专业的宏观总结,然后点击一次 "提交"。七八个碎片瞬间被捏合成了一个完美的 Commit!
场景:举白旗------"合并冲突太多,我解着解着把自己看晕了,能重来吗?"
背景 :你拉取了实验室主仓库的最新代码,结果因为你和同事修改了同一堆底层文件,瞬间爆出了 20 多个红色
!的合并冲突。你硬着头皮点了半天"采用当前更改"和"采用传入更改",结果越改越乱,代码变成了连括号都对不上的缝合怪。你现在濒临崩溃,只想放弃这次合并。VS Code 鼠标破解法(中止合并): Git 允许你随时"吃后悔药"。
一键终止 :直接按下
Ctrl+Shift+P呼出命令面板,输入Git: Abort Merge(Git: 中止合并) 并回车。效果:世界瞬间恢复了宁静。所有那些红色的冲突文件、你刚刚瞎点的修改全部被一键清空。你的本地代码直接弹回了你点击 Pull 之前的完美状态。你可以喝口水,理清思路,晚点再重新拉取解决。
场景十八:"我想把我写的这几个功能单独剥离出来发给导师看"
背景 :你最近在自己的
dev分支里做了很多激进的算法测试,代码很乱。导师突然发消息,说想看一眼你上周汇报的那个"纯跟踪(Pure Pursuit)轨迹追踪"的阶段性成果。你绝对不能把你现在这个烂摊子分支推给他看。VS Code 鼠标破解法(从历史节点开辟新宇宙):
寻找高光时刻:从git图形中找到上周那个"纯跟踪算法初步跑通"的完美 Commit。
时空分裂 :在这个 Commit 上点击鼠标右键 ,选择 "创建分支..." (Create Branch...)。
独立打包 :给新分支起名叫
pure-pursuit-demo。效果 :你瞬间切到了一个全新的分支里,这里的代码停留在上周最完美的那一刻。你可以直接把这个干净的分支 Push 到 Gitee 上发给导师,而你原本
dev分支里的烂摊子丝毫不会受到影响。场景二十一:金蝉脱壳------"同时在调控制和感知模块,要给别人看控制效果,感知代码怎么藏?"
背景 :你本地的工作区里同时躺着改了一半的控制模块
control.py和感知模块perception.py。有人突然要看你跑一下控制模块的仿真。但感知模块的代码目前千疮百孔,连括号都没闭合,一旦强行运行,全局都会报错。你需要立刻把感知的烂代码"变没",且绝对不能影响已经写好的控制模块。 VS Code 鼠标破解法(选择性储藏):
筛选保底 :把你确定要展示的
control.py点击右侧的+号,放入"暂存的更改"列表。隐藏其余 :点击面板顶部的
...-> 找到 "储藏" (Stash) -> 点击 "储藏未暂存的更改" (Stash Unstaged)。效果 :留在暂存区外面的
perception.py瞬间恢复原状(写了一半的烂代码被打包塞进隐形柜子里了),而你暂存的控制代码依然完美在线。跑完完美的演示后,再用我们之前学的"弹出最新的储藏",把感知代码释放出来继续修补。


























