Git 合并分支操作有哪些意外后果
不可逆后果?多了个不可撤销的commit纪录而已。覆盖错掉checkout老版本手动合并重新commit即可
■网友
对于 git 来说, 只要代码被 commit 过, 在绝大多数情况下的操作都没有"不可逆"的说法.具体来说:1. 代码要被 commit 过. 如果你一个文件从来没有添加到 repo 中, 或者你修改了一个文件然后从来没有 commit 过, 接着你做了 git clean -fdx 或者 git reset --hard, 不管你用多么可怜巴巴的目光看着我也是恢复不了的.2. 绝大多数情况下的操作都没有"不可逆"的说法. 先说"可逆". 假如你做了一个错误的 merge, 或者错误的 commit, 你都可以用 git reset 撤销, 稍微复杂一点的用 git rebase 基本都能搞定. 在 git 里 history 是可以修改的, 只是不建议修改已经公之于众的 history 而已. 一般我会建议在做这样的操作之前, 新建一个 branch 当作备份. 但就算是你不备份, git reflog 也会是最后一道强大的防护网, 通过它能够回到最近的一系列 repo 的状态上. 然后说"绝大多数情况下". 如果你把本地 repo 直接删除了, 很难救你. 如果你用 git gc 之类的命令配合一堆参数把 reflog 弄没了, 然后没备份就玩高难度的操作, 结果还失败了, 不要用可怜巴巴的眼神看我, 很难救你. 但绝大多数人工作中所遇到的绝大多数情况, 都不会是这么极端的, 很多人恐怕连 git gc 都没有听说过, 所以我才说使用 git 时很少需要担心自已的操作会造成毁灭性的影响.
■网友
操作需谨慎,错了并不可怕,可怕的是,错了你还乱试验,就真的是不可逆了。
推荐阅读
- Git删除的本地仓可以恢复吗
- 怎样评价神州专车(租车)和 e代价合并对滴滴的影响
- 为啥Bell和AT\u0026T合并却用AT\u0026T之名
- 美国ee专业信号与系统方向下的通信,系统控制,信号处理共三个分支,哪个分支好
- 优步为何会选择与滴滴合并,难道是要放弃中国市场
- 写了一个小程序想放到网页上运行,咋入手
- 4a广告公司和digital公司,在互联网快速发展的影响下,会有哪些变化
- 汽车|开心汽车盘前涨近50%:将与海淘车合并 林明军成CEO
- 滴滴优步中国合并,反垄断法能做啥
- 兴化|区划调整!泰州这三镇将合并……
