git 父树意外推入子树
git parent tree accidentally pushed into subtree
我将一个存储库分成 3 个,一个带有 git 子树的跟踪存储库,以及两个我分成模块的存储库。我以某种方式设法将带有子树的版本推送到其中一个子存储库,这弄乱了结构。
这里供参考:
如何恢复存储库?
首先,做一个备份,因为你将破坏历史。
在本地 child1 存储库中,确定问题开始前版本的哈希值,然后清除到该点的所有历史记录:
cd path/to/separate/broken/child1
git reset --hard 7b202bfc915042c714aeca9516daf67d81c36b61
强制将这些更改推送到远程
git push --force
切换后的问题现在应该已经解决了。切换到父级,然后正确推送更改
cd path/to/parent1
git subtree push --prefix path/to/child1/in/parent remotechildname master
那么问题应该就解决了
我将一个存储库分成 3 个,一个带有 git 子树的跟踪存储库,以及两个我分成模块的存储库。我以某种方式设法将带有子树的版本推送到其中一个子存储库,这弄乱了结构。
这里供参考:
如何恢复存储库?
首先,做一个备份,因为你将破坏历史。
在本地 child1 存储库中,确定问题开始前版本的哈希值,然后清除到该点的所有历史记录:
cd path/to/separate/broken/child1
git reset --hard 7b202bfc915042c714aeca9516daf67d81c36b61
强制将这些更改推送到远程
git push --force
切换后的问题现在应该已经解决了。切换到父级,然后正确推送更改
cd path/to/parent1
git subtree push --prefix path/to/child1/in/parent remotechildname master
那么问题应该就解决了