作为git的初学者,我成功地使用package-lock.json
以及使用多台不同计算机从几个不同分支机构中删除了一堆其他危险的git选项来成功删除filter-branch
。管理完之后,它们全部合并回master,创建了许多提交的副本。
过了一段时间,我决定解决问题,但事实证明,如果几乎每次提交都没有合并冲突,我就无法git rebase -i origin/master
。此外,即使提交有合并冲突并且在您git log
时出现,但当我执行git rebase
时,它们在vim编辑文件中不存在。
因此,我删除了当前提交不再引用的所有提交父项,因此现在我有几个没有父项的提交,也没有删除它们的真正方法。 例: https://github.com/Kimaitn/BlockchainMedicineTracker/commit/5c0f4732467ccf5ef3a81fb249cde621238f799c
比较: https://github.com/Kimaitn/BlockchainMedicineTracker/commit/49192a09dc6ab93973734f93b4c42908cbd30b53 同 https://github.com/Kimaitn/BlockchainMedicineTracker/commit/e463fa8447da8abaf94af741dfa0420f63831afa (相同的编辑,除了一个没有父母)
尝试使用rebasing或者cherry-picking做任何事情都会彻底破坏所有提交并且会出现合并错误。到目前为止大约有5个提交我需要从github中删除;所有这些都是“初始”提交,没有父母。
删除这些内容的最佳方法是什么?
更新: 在使用GUI查看提交后,我可以看到要删除的提交。我猜他们是孤独的提交,似乎比我最初想的更难以删除,哪种打击。在这种情况下,有没有办法有效地删除它们?图中的一个是突出显示的节点,尽管几乎每个分支都有相同的提交(例如,突出显示的蓝色节点上方的两个,绿色和黄色节点,两者都具有相同的提交消息和插入/删除)。 enter image description here