我在Git上出现了一个错误"!拒绝了主-> main (先取)“,所以我输入了以下命令。
$ git fetch origin main
$ git merge main
$ git fetch origin main:tmp
$ git rebase tmp // Didn't work
$ git push -f origin main我很确定在我做完这件事之后,我创建的README.md已经消失了,并要求我做一个。
我不知道为什么会这样。
有人也经历过同样的事吗?
发布于 2022-11-03 04:13:20
步骤1(可选)。当你不知道该怎么做时,答应自己不要使用-f / --force。
步骤2.将丢失的工作恢复到分支机构:
如果有未提交的文件,请首先处理它们(例如创建一个新分支并在那里提交它们以避免松散它们,您可以将它们合并为您认为应该有丢失的later)
git checkout main
git reflog
git checkout commit_id的条目(例如,b60e80b)
git switch -c my_recovery_branch现在在分支中丢失了工作,这是一个放松的好地方。)
第三步:主要做好
如果main看起来还好,而且只有一个文件丢失了,那么就从my_recovery_branch获取它,然后继续前进。
如果main丢失了其他工作,则需要将其还原到最后一个已知的良好状态。
如果您的git回购有WebUI (Azure DevOps、BitBucket、GitLab、GitHub等)看看你能不能从那里倒回去。
如果您需要在命令行中这样做,下面有一种方法:
git checkout maingit checkout -b main_backupgit refloggit reset commit_id --hardgit push --force我认为最好的选择是将main重置为提交。
https://stackoverflow.com/questions/74297433
复制相似问题