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

如何向Git分批推送提交?保留上游仓库历史遇操作难题

分批推送Git提交到新仓库(保留完整历史)

前置准备

先在命令行(推荐用Git Bash或PowerShell)里关联你的新远程仓库:

git remote add new-origin <你的新仓库Git地址>

步骤1:确定起始提交哈希

执行以下命令查看简洁版提交历史,找到你要开始推送的最早提交的短哈希(比如abc123):

git log --oneline

步骤2:分批推送(适配Windows系统)

以每次推送50个提交为例,在PowerShell中执行以下操作循环推送:

  1. 获取当前批次的最后一个提交哈希:
$batchEnd = git rev-list --reverse abc123..HEAD | Select-Object -First 50 | Select-Object -Last 1
  1. 推送该批次到新仓库的目标分支(假设目标分支是main):
git push new-origin $batchEnd:main
  1. 重复前两步,直到$batchEnd返回空值,说明所有批次已推送完成。

最后收尾推送

如果还有剩余不足50个的提交,直接推送当前分支的最新状态即可:

git push new-origin main

可视化工具替代思路

如果你习惯用可视化工具(比如SourceTree、GitKraken),可以手动选择一段提交范围(按住Shift选起始和结束提交),然后右键选择「Push to...」并指定新仓库的分支,多次重复这个操作直到所有提交推送完成。

内容的提问来源于stack exchange,提问作者Reo Lozzot

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:52:09