Git can';休息后不要用力推——一切都是最新的
提交后,我更改了代码,但我不想保留更改,所以我努力休息Git can';休息后不要用力推——一切都是最新的,git,Git,提交后,我更改了代码,但我不想保留更改,所以我努力休息 git重置-硬29920a13b3563b8到我的最后一次提交 然后,我做了一些新的更改,提交,当我尝试推送时,git显示一切都是最新的 然后我尝试了git remote set head origin master,现在我遇到了一个情况: commit dd0238f3f02986a82078191e04378487b327cfd0 (HEAD) Author:... Date: Thu May 6 18:07:09 2021 +03
git重置-硬29920a13b3563b8
到我的最后一次提交
然后,我做了一些新的更改,提交,当我尝试推送时,git显示一切都是最新的
然后我尝试了git remote set head origin master
,现在我遇到了一个情况:
commit dd0238f3f02986a82078191e04378487b327cfd0 (HEAD)
Author:...
Date: Thu May 6 18:07:09 2021 +0300
My newest commit
commit 29920a13b3563b8df16da91de452fea936be9c5a (origin/master, origin/HEAD, master)
Author: ...
Date: Wed May 5 15:53:50 2021 +0300
My last commit
commit cd21723ca691e1269e8bac318ec16cf076e24b21
Author: ....
Date: Wed May 5 11:13:52 2021 +0300
Older commit
设置磁头原点母版
,创建原点/母版!(我只有出身/头部)
如何解决这个问题?您的
git日志输出显示您处于分离头部模式。这意味着您需要将提交的提交哈希ID保存在您现在所在的位置,以防万一,使用新的分支或标记名。例如:
git branch save-this
将创建一个新的分支名称以记住dd0238f3f02986a82078191e04378487b327cfd0
。(除非你让Git帮你记住这个,否则你必须记住足够多的这串字母和数字,以便以后重建。)
接下来,使用<代码> Git状态查看是否处于某个操作的中间,使您处于这种模式。如果是这样,根据需要完成(finish)或终止(例如,
git rebase--abort
)操作,您可能会退出此模式。如果没有,或者如果完成或中止操作仍然使您处于分离头部模式,请使用git checkout master
返回分支master
。这使您可以使用commitdd0238f3f02986a82078191e04378487b327cfd0
而不启用master
,这就是为什么我们命名来记住那个丑陋的大哈希ID
现在,您可以尝试直接将新提交添加到master
:
git merge --ff-only save-this
如果可能的话,它会将您的主机
快进到提交。(根据您在此处的git log
输出,可能是这样,尽管我不能确定,因为我看不到您运行的特定git log
命令。)如果这样做有效,您现在可以运行:
git push origin master
要将此新提交发送到另一个Git存储库,并要求该Git存储库更新其主文件
。如果所有这些都奏效了,现在是时候删除不再需要的名称保存此
,使用:
git branch -d save-this
如果在此过程中出现问题,那么,如果/当它发生时,我们将返回到该问题。您的git日志输出显示您处于分离头部模式。这意味着您需要将提交的提交哈希ID保存在您现在所在的位置,以防万一,使用新的分支或标记名。例如:
git branch save-this
将创建一个新的分支名称以记住dd0238f3f02986a82078191e04378487b327cfd0
。(除非你让Git帮你记住这个,否则你必须记住足够多的这串字母和数字,以便以后重建。)
接下来,使用<代码> Git状态查看是否处于某个操作的中间,使您处于这种模式。如果是这样,根据需要完成(finish)或终止(例如,
git rebase--abort
)操作,您可能会退出此模式。如果没有,或者如果完成或中止操作仍然使您处于分离头部模式,请使用git checkout master
返回分支master
。这使您可以使用commitdd0238f3f02986a82078191e04378487b327cfd0
而不启用master
,这就是为什么我们命名来记住那个丑陋的大哈希ID
现在,您可以尝试直接将新提交添加到master
:
git merge --ff-only save-this
如果可能的话,它会将您的主机
快进到提交。(根据您在此处的git log
输出,可能是这样,尽管我不能确定,因为我看不到您运行的特定git log
命令。)如果这样做有效,您现在可以运行:
git push origin master
要将此新提交发送到另一个Git存储库,并要求该Git存储库更新其主文件
。如果所有这些都奏效了,现在是时候删除不再需要的名称保存此
,使用:
git branch -d save-this
如果在这个过程中出现了问题,那么,如果/当它发生时,我们将回到这个问题上来。谢谢!现在很好用!我最近一次提交(HEAD->master,origin/master,origin/HEAD)
。这样行吗?我的意思是,我不记得我是否同时拥有origin/master
,origin/HEAD
。这很正常:origin/HEAD
是你的Git记住哪个分支是你的“主”分支的方式,来自origin/master
,origin/master
是你的Git记住“他们的master
在哪里,上次我看到它时”,而HEAD->master
是git-log
的说法,意思是你自己掌握了master
。这三个名称现在通过哈希ID标识相同的提交,这正是我们所希望的。:-:嗯……我们有麻烦了!在那之后,我做出了一些承诺,现在,当我试图推动时,我又陷入了同样的境地!HEAD在最后一次提交时,(HEAD->master,origin/master,origin/HEAD)
,在我上次推送的提交时!所以,解决方案似乎不是永久性的!如果您将HEAD->master、origin/master、origin/HEAD
作为当前提交的装饰,那么您的Git此时认为您的master
与origin
的master
完全同步。运行git fetch origin
,以更新git对origin
的git存储库的视图,以防该存储库过期;如果它们仍然像这样同步,那么您已经成功地推送了您自己的master
上所做的任何提交,并且您遇到的任何问题都不是推送失败造成的。:否,HEAD->master,origin/master,origin/HEAD,master
在我推送时处于上一个提交状态。从那以后,我又做了两次承诺,现在我想推动。我现在最后的承诺