我如何在不删除任何更改的情况下“回滚”git中的最后一次提交?这是我在hg中经常做的事情:提交“修复107”。记得我忘记做某事Mercurial回滚做某事提交“修复107”。 最佳答案 试试这个:gitreset--softHEAD^我发现它与“hgrollback”相同,因为:上次提交已取消保留更改暂存之前提交的文件你也可以像这样创建一个rollbackgit别名:gitconfig--globalalias.rollback'reset--softHEAD^'因此,您现在只需键入gitrollback即可获得与在Mercuria
我有一个网络服务器,为一个项目提供服务,该项目是一个git存储库。当我对代码进行一些更改时,我会从服务器执行gitpull。有时新代码会崩溃,我希望能够回滚到最新的pull,即之前的pull。我想用脚本来做到这一点,而不必搜索最新的sha。我该怎么做?编辑:澄清一下,我只想做一个Action,比如按下一个按钮,上面写着“哎呀!我刚刚做的最近一次pull是个错误,我希望我没有那样做”。在这种情况下,我不想寻找sha或标签或其他任何东西,它更像是一个“撤消”功能。然后我希望能够继续处理代码,并且服务器的下一次pull需要带来最新的更改。 最佳答案
我有一个网络服务器,为一个项目提供服务,该项目是一个git存储库。当我对代码进行一些更改时,我会从服务器执行gitpull。有时新代码会崩溃,我希望能够回滚到最新的pull,即之前的pull。我想用脚本来做到这一点,而不必搜索最新的sha。我该怎么做?编辑:澄清一下,我只想做一个Action,比如按下一个按钮,上面写着“哎呀!我刚刚做的最近一次pull是个错误,我希望我没有那样做”。在这种情况下,我不想寻找sha或标签或其他任何东西,它更像是一个“撤消”功能。然后我希望能够继续处理代码,并且服务器的下一次pull需要带来最新的更改。 最佳答案
在Git中,如果您对rebase不满意,该如何回滚?Git没有rebase试运行。如果我做了一个rebase但还没有推送它,我该如何回滚到以前,就好像它从未发生过一样? 最佳答案 您可以使用reflog在rebase开始之前找到第一个Action,然后重置--hard回到它。例如$gitreflogb710729HEAD@{0}:rebase:somecommit5ad7c1cHEAD@{1}:rebase:anothercommitdeafcbfHEAD@{2}:checkout:movingfrommastertomy-bran
在Git中,如果您对rebase不满意,该如何回滚?Git没有rebase试运行。如果我做了一个rebase但还没有推送它,我该如何回滚到以前,就好像它从未发生过一样? 最佳答案 您可以使用reflog在rebase开始之前找到第一个Action,然后重置--hard回到它。例如$gitreflogb710729HEAD@{0}:rebase:somecommit5ad7c1cHEAD@{1}:rebase:anothercommitdeafcbfHEAD@{2}:checkout:movingfrommastertomy-bran
developbranch-->dashboard(workingbranch)我使用gitmerge--no-ffdevelop将任何上游更改merge到仪表板中git日志:commit88113a64a21bf8a51409ee2a1321442fd08db705Merge:981bc20888a557Author:XXXXDate:MonJul3008:16:462012-0500Mergebranch'develop'intodashboardcommit888a5572428a372f15a52106b8d74ff910493f01Author:rootDate:SunJul
developbranch-->dashboard(workingbranch)我使用gitmerge--no-ffdevelop将任何上游更改merge到仪表板中git日志:commit88113a64a21bf8a51409ee2a1321442fd08db705Merge:981bc20888a557Author:XXXXDate:MonJul3008:16:462012-0500Mergebranch'develop'intodashboardcommit888a5572428a372f15a52106b8d74ff910493f01Author:rootDate:SunJul
这个问题在这里已经有了答案:RemovelastcommitfromremoteGitrepository(2个答案)关闭上个月。我已经阅读了关于这个主题的类似帖子,但我终究无法弄清楚如何正确地做到这一点。我checkin了大约1000个我不需要的文件,我宁愿不必逐一检查并将它们全部从存储库中删除。我有一个远程master分支。我有本地master分支。它们都在同一个版本中。我想通过1次提交回滚我的远程。假设我在master上的历史是A--B--C--D--E。我想将本地回滚到D。然后将其推送到远程,这样我当前的哈希值将是远程和本地的D。我在执行此操作时遇到问题。我正在使用GitTow
这个问题在这里已经有了答案:RemovelastcommitfromremoteGitrepository(2个答案)关闭上个月。我已经阅读了关于这个主题的类似帖子,但我终究无法弄清楚如何正确地做到这一点。我checkin了大约1000个我不需要的文件,我宁愿不必逐一检查并将它们全部从存储库中删除。我有一个远程master分支。我有本地master分支。它们都在同一个版本中。我想通过1次提交回滚我的远程。假设我在master上的历史是A--B--C--D--E。我想将本地回滚到D。然后将其推送到远程,这样我当前的哈希值将是远程和本地的D。我在执行此操作时遇到问题。我正在使用GitTow
git命令进行代码回滚1:回滚到你的目标提交记录2:在你的项目路径下打开git命令面板git安装路径,安装过的无需安装:下载地址使用命令:gitreset–hard[commit]该命令将丢弃所有的历史记录,并回滚到指定的提交。3:gitlab上已经看不到你的测试记录了,只能看到目标提交记录,说明目标提交记录之后的提交记录都会消除掉4:idea进行pull拉取操作,代码也会变为push前的代码,可以重新进行push操作提示:首次安装git的用户最好顺便设置下用户签名,用来区分不同操作者身份,不设置的话拉取代码会提示你输入,没啥太大关系gitconfig--globaluser.name"用户名