git - 如何在不解决 git pull 合并冲突的情况下取回隐藏的更改
问题描述
我有三个分支, brancha
和b
branch HotFix
。
我正在研究分支 HotFix,我正在解决一个问题,然后我接到了另一项工作的电话。我需要切换到分支b
。我隐藏了我当前的分支更改,然后我再做git checkout b
。git pull origin b
拉动更改后 git bash 向我显示合并冲突,这些文件数量确实很大,我不想手动解决冲突。我失去了当地的分支机构HotFix
及其工作。有没有办法在不解决冲突的情况下取回隐藏的更改。
我认为我正在寻找一个git unpull
or git reverse pull
。
解决方案
您运行的命令是git pull origin b
:它是两个命令的组合:
- 首先
git fetch origin b
更新一个名为的本地分支origin/b
, - 然后
git merge origin/b
尝试将第一步中获取的更改合并到本地分支b
中。
冲突发生在第二步:合并。虽然它们是冲突的,但合并并未完成,因此您可以使用 command 取消git merge --abort
。
如果由于某种原因合并结束,您仍然可以撤消它,方法是使用命令返回历史记录中的一步git reset --hard HEAD^
。
简而言之,当您在分支上时b
:git merge --abort
应该可以工作,如果没有,git reset --hard HEAD^
则可以。
推荐阅读
- javascript - 使用 CodeIgniter4 路由到 Js 文件
- excel - 如何在不丢失数据的情况下基于单个列标识符合并 Excel 数据行?
- python - 如何保持进度条继续运行?
- sql - 如何在 PostgreSQL 中运行包含静态 SQL 查询的字符串?
- python - 使用自定义热图制作子图
- .net - .net framework 4.0 下载失败,错误代码为 0x800c0006
- java - 我如何才能从 firebase ML Kit 人脸检测中获取情感?
- asp.net-core - Microsoft.HPC.SDK 可以在 blazor 服务器应用程序中使用吗?
- sql - 使用 SQL 在 MS Access 中生成数字 1 到 1000000
- dns - 是否需要 DNS 缓存管理器才能准确测试我的 Web 应用程序的性能?