『Git』记录 Git 相关的问题
1. 代码写一半,发现忘记切换分支了,怎么处理?
① 使用git stash
命令将当前工作目录中的修改保存起来。这将暂存修改,以便稍后可以应用到其他分支上。
② 使用git checkout <branch>
命令切换到正确的分支,以继续开发工作。
③ 在切换到正确的分支后使用git stash pop
命令来应用之前暂存的修改,将之前写的代码修改恢复到当前分支中,这样就可以在正确的分支上继续开发,同时保留了之前的修改。
2. 你正在 develop 分支上开发自己的代码,此时线上突然有 bug 需要你紧急修复,怎么处理?
① 保存正在开发的代码,使用git stash
命令将修改暂存起来,或者提交到本地分支。
② 切换到线上出现紧急 bug 的分支:git checkout master
③ 创建一个紧急修复的分支:git checkout -b emergency-fix
④ 进行 bug 修复并提交更改:
# 进行 bug 修复 # 使用 git add 和 git commit 提交更改
⑤ 将 bug 修复推送到远程仓库:git push origin emergency-fix
⑥ 创建一个紧急修复的 Pull Request,提交 PR,等待审查和合并。
⑦ 完成紧急 bug 修复后,切换回开发分支,并且恢复之前保存的修改:
git checkout develop # 恢复之前暂存的代码 git stash pop # 或者使用git stash apply
3. git revert 和 git reset 的区别?
git revert
是用一次新的 commit 来回滚之前的 commit,git reset
是直接删除指定的 commit。
① 在回滚这一操作上看,效果差不多,但是在日后继续 merge 以前的老版本时有区别。因为git revert
是用一次逆向的 commit “中和”之前的提交,因此日后合并老的 branch 时会导致这部分改变不再次出现,但是git reset
是之间把某些 commit 在某个 branch 上删除,因而和老的 branch 再次 merge 时,这些被回滚的 commit 应该还会被引入。
② git reset
是把 HEAD 向后移动,而git revert
是 HEAD 继续前进,只是新的 commit 的内容和要 revert 的内容正好相反,能够抵消要被 revert 的内容。
扩展阅读:
GIT | GIT常见面试题 - CSDN博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构