You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

git push --no-atomic是否保证错误前的引用优先更新?

Git push --no-atomic 参数行为说明

首先明确:--no-atomic 仅用于关闭 --atomic 提供的原子性保证,并不会建立“即使出错也要更新所有可行引用”的相反规则,它只是让Git回到默认的非原子推送行为。

在非原子推送模式下(也就是使用--no-atomic或不指定--atomic时),推送多个引用的逻辑是:

  • Git会逐个尝试更新远程引用,每成功推送一个,该引用的变更就会立即在远程仓库生效
  • 一旦某个引用推送失败,Git会停止后续的推送操作,但已经成功推送的引用不会被回滚

对应你举的例子:执行git push --no-atomic origin foo bar时:

  • 如果foo先被成功推送,之后bar推送出错,那么远程端的foo已经完成更新,bar则保持原有状态
  • 如果bar在推送时先出错(比如权限问题、冲突等),Git会直接停止操作,foo不会被尝试推送,远程的foo和bar都不会有变化

内容的提问来源于stack exchange,提问作者Piotr Siupa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:18:16