文章目录
- 1. 先确认远端配置
- 2. 日常最常用:提交并推送到两个仓库
- 3. 支线(分支)怎么用?
- 查看分支
- 创建并切换到支线
- 切换到别的支线
- 切换回主线
- 在支线上提交并推送
- 把支线合并回主线
- 删除支线
- 4. 怎么恢复到上一次提交代码?
- 情况 A:只是改了代码,还没提交,想放弃修改
- 情况 B:已经提交了,想撤销最近一次提交,但保留历史记录【推荐】
- 情况 C:已经提交了,想彻底回到上一次提交,删掉最近一次提交
- 情况 D:只是想看看旧版本代码
- 5. 原手册里容易踩坑的地方,已修复
- 6. 推荐工作流
- 7. 最常用命令速查表
适用前提:你的远端是
origin=GitHub,gitee=Gitee,主分支叫main。
如果你的主分支是master,把下面所有main换成master。
VSCode 只是编辑器,推送本质还是 Git 命令。图形界面能点,但多远端推荐用命令行。
1. 先确认远端配置
在 VSCode 里按Ctrl + ~打开终端,输入:
git remote-v正常应该看到:
origin https://github.com/你的用户名/仓库.git gitee https://gitee.com/你的用户名/仓库.git如果没有gitee,添加:
git remote add gitee https://gitee.com/你的用户名/仓库.git地址错了就改:
git remoteset-urlgitee 新的Gitee地址2. 日常最常用:提交并推送到两个仓库
VSCode 图形界面也能做:左侧源代码管理 → 输入提交说明 → 提交 → 推送。
但图形界面默认只推“当前配置的那个远端”,容易漏推。推荐命令行:
git status git add.git commit-m"你的修改说明"git push origin main# 推 GitHubgit push gitee main# 推 Gitee拉取别人代码:
gitswitchmain git pull gitee main git pull origin main注意:旧版 PowerShell 不支持
&&,所以不要写git add . && git commit -m "xx",分成两行最稳。
3. 支线(分支)怎么用?
正式叫法是“分支”,你可以理解成“支线”。主线是main,支线用来开发新功能,不直接影响主线。
查看分支
git branch# 本地分支,* 表示当前所在git branch-a# 包含远端分支创建并切换到支线
gitswitch-c feature/login老命令也可以:
git checkout-b feature/login切换到别的支线
gitswitchfeature/login切换回主线
gitswitchmain在支线上提交并推送
git add.git commit-m"feat: 完成登录功能"git push-u origin feature/login git push gitee feature/login把支线合并回主线
gitswitchmain git pull gitee main git merge feature/login git push origin main git push gitee main如果合并时有冲突,VSCode 会标红,解决后执行:
git add.git commit删除支线
git branch-d feature/login# 删除本地已合并分支git branch-D feature/login# 强制删除本地分支git push origin--delete feature/login git push gitee--delete feature/login4. 怎么恢复到上一次提交代码?
先分清你的情况,不然容易把代码删没。
情况 A:只是改了代码,还没提交,想放弃修改
git restore.会丢弃未提交的修改,慎用。
情况 B:已经提交了,想撤销最近一次提交,但保留历史记录【推荐】
git revert HEAD git push origin main git push gitee mainrevert不会删除历史,而是新建一个“反向提交”,多人协作更安全。
情况 C:已经提交了,想彻底回到上一次提交,删掉最近一次提交
git reset--hard HEAD~1 git push origin main-f git push gitee main-f
HEAD~1是上一个提交,HEAD~2是上上个。--hard会永久丢弃被回退的代码。-f是强制推送,会覆盖远端。如果队友也在用这个分支,千万别随便强推,优先用git revert。
情况 D:只是想看看旧版本代码
git checkout f84a074看完切回主线:
gitswitchmain这会进入 detached HEAD 状态,别在这里乱提交。只是看代码没问题。
5. 原手册里容易踩坑的地方,已修复
- 不要用
&&:旧 PowerShell 会报错,git add .和git commit分开写。 - pull 前先切回 main:否则可能把远端 main 合到你当前支线里。
git reset --hard+git push -f风险很大:多人协作优先git revert。- VSCode 同步按钮可能只推一个远端:想双推就命令行
git push origin main和git push gitee main。 - 删除远端分支要两个远端都删:
origin和gitee都执行--delete。 - GitHub 认证不是登录密码:GitHub 用个人访问令牌 PAT,Gitee 用密码或私人令牌。
6. 推荐工作流
# 开工前gitswitchmain git pull gitee main# 新建支线gitswitch-c feature/xxx# 写代码git status git add.git commit-m"feat: xxx"# 推送支线git push-u origin feature/xxx git push gitee feature/xxx# 合并回主线gitswitchmain git pull gitee main git merge feature/xxx git push origin main git push gitee main# 删除支线git branch-d feature/xxx git push origin--delete feature/xxx git push gitee--delete feature/xxx7. 最常用命令速查表
| 命令 | 作用 |
|---|---|
git status | 看当前改动状态 |
git add . | 所有改动加入暂存区 |
git commit -m "说明" | 提交 |
git push origin main | 推 GitHub |
git push gitee main | 推 Gitee |
git pull gitee main | 拉 Gitee 更新 |
git switch main | 切回主线 |
git switch -c feature/xxx | 创建并切换支线 |
git switch feature/xxx | 切到支线 |
git merge feature/xxx | 把支线合并到当前分支 |
git revert HEAD | 撤销最近一次提交,保留历史 |
git reset --hard HEAD~1 | 彻底回到上一次提交 |
git restore . | 放弃未提交修改 |
git remote -v | 查看远端地址 |
git log --oneline | 一行看提交历史 |
一句话总结:
日常就是add → commit → push origin main → push gitee main;支线用switch -c创建,switch main回主线;回退优先revert,少用reset --hard + push -f。