第1步:我创建了一个Local Git存储库
步骤2:然后我做了拉(当前分支是主)
第3步:之后我使用重置恢复了合并,如下图所示。
步骤4:之后,如下所示正确显示。
问:我试图将更改推送到远程主控。它给出了以下错误。你能告诉我为什么吗?我正在使用TortoiseGit。感谢。
答案 0 :(得分:2)
我找到了解决方案。这是步骤。
步骤1:克隆远程存储库(将在默认分支主服务器上签出 自动地)
git clone https://github.com/myrepo/myrepo.git
第2步:重置本地主服务器 - 它会将主服务器更改为指向具有特定SHA的不同提交。
git reset --hard 2f89f2971c3cr45fe187241b8cb89a8ef8234ea3
第3步:推回远程存储库。
git push https://github.com/myrepo/myrepo.git --force
这篇文章给了我很多帮助: Undoing Merges
就是这样。一切都完成了。欢呼:)
答案 1 :(得分:0)
这是一个棘手的情况。您无法以这种方式还原远程存储库,因为远程识别出存储库的状态落后。毫无疑问,更好的解决方案,但您可以删除远程存储库,创建一个具有相同名称的新远程存储库,然后将本地存储库推送到它。
答案 2 :(得分:0)
您可以查看从您之前提交的文件中删除的每个文件,然后再进行新的提交。
我不熟悉toroisegit,但我认为它在某个地方有一个命令行输入,所以步骤将是这样的:
假设你要恢复的提交哈希是29edf27
并且您更改了两个要还原的文件,例如file1.php
和file2.txt
git checkout 29edf27 -- file1.php
git checkout 29edf27 -- file2.txt
git commit -m "reverted commit to 29edf27"
git push origin master
答案 3 :(得分:0)
硬重置分支到选定的提交之后,您只需强制推送您的更改。
VCS - Git - Push - Force push