发布于 

git基本代码

提交

1
2
3
4
git clone
git add .
git commit -m "xxx"
git push origin master

克隆远程仓库,仅拉取 dev 分支代码与提交记录,不获取其它分支(main、test、release…),本地切换不到其他远程分支

1
git clone -b dev --single-branch 仓库地址

小坑提醒
👉 -b dev 只是「默认检出 dev」,依然会下载所有分支;
想要只拉单个分支,必须搭配 –single-branch

更新分支

vscode看不到新建的远程分支
在项目文件打开git运行命令:git remote update origin –prune

git remote update 远程仓库名字–prune

未提交文件回退

✅ 已有历史提交(本地 + 远程都有)
✅ 本次只是工作区修改,还没 add /commit
✅ 目标:保留分支,删掉本次所有改动,回到上一次代码状态

情况 1:改动还没 git add(最常见)

新版 Git(2.23+,推荐)

1
2
3
4
# 撤销所有已跟踪文件的本地修改
git restore .
# 删除新增、未跟踪的文件(可选,如果有新建文件才执行)
git clean -fd

老版本 Git

1
2
git checkout -- .
git clean -fd

你已经执行了 git add(放进暂存区)

先清空暂存,再丢弃修改:

1
2
3
git reset HEAD .
git restore .
git clean -fd

情况3,已经commit 了

1
2
3
4
# 软重置,提交撤回,代码留在本地
git reset --soft HEAD~1
# 再执行上面丢弃改动命令
git restore .

快速操作清单(直接复制执行)

1
2
git restore .
git clean -fd

执行前建议先看一眼会删除什么,预览(不会真正删除):

1
git clean -nfd

一句话总结
你现在没有产生新 commit,只用 restore + clean;
分支不会被删除、历史提交完好、远程不受任何影响,仅清除本次临时修改。
如果你不确定自己有没有 add,直接整套执行:

1
2
3
git reset HEAD .
git restore .
git clean -fd