我如何从我目前的状态转向在某个承诺上拍摄的截图?

如果我做 git 登录,那么我会得到以下输出:

$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date:   Thu Nov 4 18:59:41 2010 -0400

blah blah blah...

commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date:   Thu Nov 4 05:13:39 2010 -0400

more blah blah blah...

commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date:   Thu Nov 4 00:55:06 2010 -0400

And yet more blah blah...

commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date:   Wed Nov 3 23:56:08 2010 -0400

Yep, more blah blah.

我如何转向11月3日的承诺,即承诺0d1d7fc?


当前回答

这是另一种方式直接重定向到最近的承诺。

git stash
git stash clear

它直接清除你自最后的承诺以来所做的所有变化。

PS:它有点问题;它还会删除你最近存储的所有存储变更,我猜在大多数情况下不重要。

其他回答

可以用 Sourcetree 做得更容易。 只需正确点击承诺,您正在寻找并从菜单中选择“检查”。

此分類上一篇

你可以通过以下两个命令做到这一点:

git reset --hard [previous Commit SHA id here]
git push origin [branch Name] -f

它将取消您的前 Git 承诺。

如果你想保持你的变化,你也可以使用:

git reset --soft [previous Commit SHA id here]

然后,它会拯救你的变化。

您可以自行完成所有这些初步步骤,然后按一下返回 Git 存储库。

使用 git pull --all 命令从 Bitbucket 播放您的存储库的最新版本. 从您的终端运行 Git 存储库命令 -n 4 之后的号码决定从您本地历史上最新的存储库中的订单数量. $ git 存储库 -n 4 使用 git reset --hard HEAD~N 重新设置存储库历史的头,在那里 N 是订单数量

如果您想要 Git 存储库到以前的承诺:-

git pull --all
git reset --hard HEAD~1
git push --force

尝试重定向到所需的承诺:

git reset <COMMIT_ID>

查看 COMMIT_ID 使用:

git log

这将将所有更改的文件重定向到未添加状态。

现在,您可以查看所有未添加的文件

git checkout .

要检查您的使用变更:

git log

更新

如果你有一個,只承諾在你的repo,嘗試

git update-ref -d HEAD

还有另一个最简单的解决方案;你必须改变分支来做到这一点,但后来你只能运行:

git branch -f <<branchname>> 0d1d7fc32e5a947fbd92ee598033d85bfc445a50