Git 尝试重新设置基础会导致无休止的合并冲突

Git 尝试重新设置基础会导致无休止的合并冲突,git,github,version-control,merge,Git,Github,Version Control,Merge,我意外地创建了我所有项目提交的副本,并将其推到远程,我的项目从500个提交跳到了1000个。我已经检查了到的所有链接,但没有一个对我有意义。如果我尝试重新设置基址,每次提交都会得到一个合并冲突,而且从一开始我就不会花几个小时来解决冲突。我的历史看起来像: 是否仍然可以直接进入并强制删除重复提交?我真的不想花上几个小时从~1000次提交开始重新调整,手动压缩每个重复提交 更妙的是,有什么方法可以让我撤销这一切吗?这是一个过滤器分支命令的结果,我没有意识到重复了每一次提交您可以尝试重定基址,但您说

我意外地创建了我所有项目提交的副本,并将其推到远程,我的项目从500个提交跳到了1000个。我已经检查了到的所有链接,但没有一个对我有意义。如果我尝试重新设置基址,每次提交都会得到一个合并冲突,而且从一开始我就不会花几个小时来解决冲突。我的历史看起来像:

是否仍然可以直接进入并强制删除重复提交?我真的不想花上几个小时从~1000次提交开始重新调整,手动压缩每个重复提交


更妙的是,有什么方法可以让我撤销这一切吗?这是一个
过滤器分支
命令的结果,我没有意识到重复了每一次提交

您可以尝试
重定基址
,但您说您有问题,或者您可以使用
git reflog
尝试一种
撤消
。我将这两个选项保留在下面:

用Git Reflog撤销 您提到要撤消filter命令的结果,因此可以尝试运行:

> $ git reflog

d363d7c HEAD@{0}: commit: minor typo
87c9470 HEAD@{1}: pull: Fast-forward
a74a14e HEAD@{2}: checkout: moving from clojure-script-begginer to master
ce79d4e HEAD@{3}: commit: article for review
a74a14e HEAD@{4}: checkout: moving from master to clojure-script-begginer
a74a14e HEAD@{5}: pull: Fast-forward
14ec10b HEAD@{6}: checkout: moving from cors to master
e71cf74 HEAD@{7}: commit: Config URL commented out
如果您看到这样的列表,并且可以在运行filter命令之前注意到一个条目,您可以将分支重置到该点:

> git reset --hard <COMMIT ID>
 2. 用于删除重复项的交互式重基 运行:

将打开一个文本编辑器(默认编辑器),它将显示之前的所有100次提交。删除重复提交的行,直到只有所需的提交。保存并退出

在这一点上,我不希望您有重定基础冲突

3.推开树枝 只需将分支向上游推:

> git push origin fixing-duplicates
4.检查分支是否正常 看看树枝,看看这是否真的是你想要的。如果是,只需运行:

> git push origin fixing-duplicates:master -f
如果GitHub实例阻止强制推送到默认分支,请将默认分支更改为
修复重复项
,然后再次运行该命令。然后只需将默认分支切换回
master

让我知道这是否有用

> git push origin fixing-duplicates
> git push origin fixing-duplicates:master -f