git-合并不相干的分支

从Git2.9.0版本起,默认阻止合并没有共同历史的分支。为避免误操作,需使用--allow-unrelated-histories参数。此参数用于确认用户有意合并两个无共同祖先的分支。

git-合并不相干的分支

refusing to merge unrelated histories
参考URL: https://segmentfault.com/a/1190000018761913

git-合并不相干的分支,会出现报错 refusing to merge unrelated histories

Git 从 2.9.0 版本开始,预设行为不允许合并没有共同祖先的分支,需要加上 --allow-unrelated-histories 进行 pull 操作才不会出现此类错误信息。

这个预设行为是为了避免,人为误操作合并了两个不相干的分支,加参数–allow-unrelated-histories 你要自己确定你真的要合并这个两个没有共同祖先的分支。

demo示例

git pull origin master --allow-unrelated-histories

一般不太使用该命令。

### Git 安装过程中常见错误及其解决方案 #### 错误一:凭证缺失或无效 (Missing or Invalid Credentials) 当遇到 `git push` 后提示 “Missing or invalid credentials”的情况时,这通常是因为认证信息配置不当所致。对于此类问题,建议按照以下方法处理: - 如果之前使用的是用户名/密码方式进行身份验证,则需切换到更安全的身份验证方式,比如个人访问令牌(Personal Access Token, PAT)[^5]。 ```bash # 设置全局的凭据缓存时间(单位秒) $ git config --global credential.helper cache ``` #### 错误二:路径编码问题引起的报错 有时,在特定环境下执行某些操作可能会因为文件名中含有特殊字符而导致路径解析失败的问题。可以通过调整Git设置来规避此风险: ```bash # 关闭对含有非ASCII字符路径的支持,防止因编码不同步引发冲突 $ git config --global core.quotepath false ``` 上述命令能够有效减少由于操作系统间字符集差异带来的兼容性难题[^2]。 #### 错误三:代理服务器干扰正常通信 如果工作环境中启用了HTTP(S)代理服务,那么在尝试连接外部资源时就可能遭遇阻碍。此时应考虑清除不必要的网络中介层影响: ```bash # 移除已设定好的http(s)_proxy环境变量值 $ git config --global --unset http.proxy $ git config --global --unset https.proxy ``` 通过这种方式可以排除潜在的中间件因素造成的连通障碍[^3]。 #### 错误四:SSL证书校验失败 针对“SSL certificate problem: unable to get local issuer certificate”这类由SSL握手阶段产生的异常状况,可以选择暂时忽略HTTPS请求中的SSL验证环节以继续流程(注意该做法存在安全隐患): ```bash # 禁用ssl验证机制 $ git config --global http.sslVerify false ``` 不过出于安全性考量,推荐更新受信任CA列表或是获取正确的根证书后再试一次。 #### 错误五:分支历史记录不一致导致无法推送更改 假如发现有合并的历史提交记录阻止了当前变更的成功上传,可通过拉取最新版本并允许跨库合并不相干历史的方法予以修正: ```bash # 将远端仓库的内容强制拉回本地,并接受所有分歧部分作为新改动的一部分 $ git pull origin main --allow-unrelated-histories ``` 这里假设目标分支名为main;如果是其他名称,请相应替换参数[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值