相关疑难解决方法(0)

在之前的git合并之后git rebase

我有以下情况:

  • clone从主存储库(X)创建了一个(Y),因为有许多人在Y上工作,我们没有做任何事情rebase,只有merges.当我们想要将(push)Y 传递给X时,我们想做一rebase件事,以便让事情变得干净整洁

问题在于,当rebase我们被要求进行我们在之前merge步骤中已经完成的所有合并时.有没有解决方案,除了意味着重新进行合并的那个?

我预计它会非常简单,因为我们已经解决了冲突的合并.

git merge rebase git-rebase

72
推荐指数
4
解决办法
3万
查看次数

如何将使用“ 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
查看次数

标签 统计

git ×2

merge ×2

bitbucket ×1

git-rebase ×1

rebase ×1

version-control ×1