小编Zan*_*zer的帖子

如何将使用“ git replace”编辑的历史记录推送到远程

我有一个具有如下历史记录的遥控器:

在此处输入图片说明

如您所见,O和P是合并提交,并且它们都关闭了它们的旧分支,因此现在只有一个分支。

我想将CDEGJKLN压缩为一次提交,将FHIM压缩为另一次提交,因为它们只是使历史混乱的微小提交。

在本地,我设法使用John O'M的答案所述的方法压缩CDEGJKLN。对于这个问题,像这样:

git checkout -b squashing-1 N
git reset --soft C~
git commit -m "Squashed history"
git replace N [ID_of_the_commit_i_just_made]
Run Code Online (Sandbox Code Playgroud)

并且可以正常工作,git log从主分支本地正确地报告Q,P,O,X,M,I等(X是新压缩的提交)。

从这里开始,下一步是(1)签出主分支并合并更改,(2)删除临时本地分支,然后(3)将更改推送到远程仓库。但是(1)和(3)报告“ 已经更新”或“ 一切都已更新”,因为对树没有任何实际更改,这正是所有这些要点

我也尝试过使用git push --force origin main-branchgit push --force-with-lease origin main-branch但是得到了相同的结果:一切都是最新的。


如何正确合并这些历史记录更改并将其推送到BitBucket,而不必重新创建整个存储库?

git version-control merge bitbucket

2
推荐指数
1
解决办法
484
查看次数

标签 统计

bitbucket ×1

git ×1

merge ×1

version-control ×1