IntelliJ Gitlab 在本地恢复到旧分支而不影响远程分支

Posted

技术标签:

【中文标题】IntelliJ Gitlab 在本地恢复到旧分支而不影响远程分支【英文标题】:IntelliJ Gitlab revert to older branch locally without affecting remote branches 【发布时间】:2022-01-14 17:42:07 【问题描述】:

我想使用 Git 菜单标题下的 IntelliJ windows Gitlab 菜单界面从远程存储库恢复到旧分支。我想在本地执行此操作而不影响远程分支。因此,当我这样做时,除非我签入某些内容,否则当前的远程分支应该完全保持原样。

我目前没有任何需要保存的本地工作。

如上所述,如何在不影响远程存储库的情况下获取旧版本?

【问题讨论】:

您对此有何疑问? 如何获取旧版本,如上所述而不影响远程存储库? 而当使用您描述的菜单界面时,这不起作用吗? 【参考方案1】:

您应该使用 git 或 VCS/git IntelliJ 功能来执行此操作。只需将您的 HEAD (git reset) 重置为所需的参考点。

使用 IntelliJ VCS 实用程序,执行以下操作:

    查看相关分支git checkout my-branch

    在git操作菜单中,选择Reset HEAD...

    在“Reset Head”对话框中,选择“Reset type”为“hard”并输入您想要恢复的参考。您可以使用几乎任何有效的引用(git reset 接受),如提交 SHA、相对引用(如 HEAD~10)。

    (可选)使用验证按钮验证更改,然后单击“重置”

这相当于git reset 操作:

REF="abc123"
git reset --hard "$REF"

Git 重置是本地操作,除非您推送本地更改,否则不会影响远程上的任何内容。

【讨论】:

以上是关于IntelliJ Gitlab 在本地恢复到旧分支而不影响远程分支的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab 无法将恢复的分支与另一个分支合并

GitLab远程分支被删除后怎么恢复

git从远程仓库gitLab上拉取指定分支到本地仓库

gitlab删除远端or本地某个文件

GitLab新增分支后VSCode本地检测不到

Gitlab如何将master上的当前代码下拉到本地分支