将当前分支重置为上一次提交后无法推送
Unable to push after resetting current branch to previous commit
第 1 步:我创建了一个本地 Git 存储库
第2步:然后我做了一个Pull(当前分支是master)
第 3 步:之后,我在本地副本上使用 Reset 恢复了合并,如下所示。
第 4 步:之后正确显示如下。
问: 我试图将更改推送到远程主机。它给出以下错误。你能告诉我为什么吗?我正在使用 TortoiseGit。谢谢
这是一个棘手的情况。您不能以这种方式恢复远程存储库,因为远程识别出您的存储库状态落后了。无疑有更好的解决方案,但您可以删除远程存储库,创建一个新的同名远程存储库,然后将您的本地存储库推送到它。
您可以签出从您要恢复到的上一次提交中更改的每个文件,然后进行新的提交。
我不熟悉 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
我发现 solution.Here 是步骤。
第 1 步: 克隆远程存储库(将在默认分支 master 上签出
自动)
git clone https://github.com/myrepo/myrepo.git
步骤 2 : 重置本地主机
- 它将更改 master 以指向具有特定 SHA 的不同提交。
git reset --hard 2f89f2971c3cr45fe187241b8cb89a8ef8234ea3
第 3 步: 推回远程存储库。
git push https://github.com/myrepo/myrepo.git --force
这篇文章对我帮助很大:Undoing Merges
那 it.All 是 done.Cheers :)
硬重置分支到选定的提交后,您应该强制推送您的更改。
VCS - Git - Push - Force push
第 1 步:我创建了一个本地 Git 存储库
第2步:然后我做了一个Pull(当前分支是master)
第 3 步:之后,我在本地副本上使用 Reset 恢复了合并,如下所示。
第 4 步:之后正确显示如下。
问: 我试图将更改推送到远程主机。它给出以下错误。你能告诉我为什么吗?我正在使用 TortoiseGit。谢谢
这是一个棘手的情况。您不能以这种方式恢复远程存储库,因为远程识别出您的存储库状态落后了。无疑有更好的解决方案,但您可以删除远程存储库,创建一个新的同名远程存储库,然后将您的本地存储库推送到它。
您可以签出从您要恢复到的上一次提交中更改的每个文件,然后进行新的提交。
我不熟悉 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
我发现 solution.Here 是步骤。
第 1 步: 克隆远程存储库(将在默认分支 master 上签出 自动)
git clone https://github.com/myrepo/myrepo.git
步骤 2 : 重置本地主机 - 它将更改 master 以指向具有特定 SHA 的不同提交。
git reset --hard 2f89f2971c3cr45fe187241b8cb89a8ef8234ea3
第 3 步: 推回远程存储库。
git push https://github.com/myrepo/myrepo.git --force
这篇文章对我帮助很大:Undoing Merges
那 it.All 是 done.Cheers :)
硬重置分支到选定的提交后,您应该强制推送您的更改。
VCS - Git - Push - Force push