【发布时间】:2020-05-07 12:18:41
【问题描述】:
我正在尝试将我的 Git 主分支重置为更旧的版本。 我创建了一个分支来保存主分支更改,然后进行了重置。 现在我被困住了,现在不知道该怎么办。状态消息告诉我可以快进分支,但我想提交更改以返回旧版本。 Master 也已经推送到了 git 服务器。接下来我该怎么做?
User MINGW64 application (feature/logBusiness)
$ git checkout master
M .classpath
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
User MINGW64 application (master)
$ git checkout -b feature/v5.3.10
M .classpath
Switched to a new branch 'feature/v5.3.10'
User MINGW64 application (feature/v5.3.10)
$ git push -u origin feature/v5.3.10
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
Total 0 (delta 0), reused 0 (delta 0)
To ssh://git@gitserver/srv/git/application
* [new branch] feature/v5.3.10 -> feature/v5.3.10
Branch feature/v5.3.10 set up to track remote branch feature/v5.3.10 from origin.
User MINGW64 application (feature/v5.3.10)
$ git checkout master
M .classpath
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
User MINGW64 application (master)
$ git reset --hard RM2_5.3.8_alpha
HEAD is now at 2055fa8 Fixed bug when KPi has no database connection assigned
User MINGW64 application (master)
$ git status
On branch master
Your branch is behind 'origin/master' by 54 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working directory clean
【问题讨论】:
-
听起来您可能想
git push -f master用您的本地版本覆盖远程主机? -
听起来像是一个计划。还有其他意见吗?
-
@larsks 我得到了
fatal: 'master' does not appear to be a git repository。我会做解决方法git push -f,但我不知道推送是否仅适用于当前分支。 -
对不起,是的,我打字很匆忙,弄错了! :) 那应该只是
git push -f或git push -f origin master。git push -f,假设您使用的 git 比 2.0 更新,会将当前分支推送到远程跟踪分支(即,任何一个选项都应该是安全的)。 -
如果遥控器被别人使用,你可能不想做
git push -f。相反,只需使用所需的树进行新的提交,并编写适当的提交消息来解释为什么要回滚到以前的状态。