我有点想要cd -
git。如果我在 branch master
并且我签出了foo
,我希望能够输入git checkout -
以返回到master
,并能够再次键入它以返回到foo
。
像这样的东西存在吗?实施起来会很难吗?
@{-1}
是引用您所在的最后一个分支的一种方式。这是
不仅在期望使用对象名称的地方接受,而且在期望使用分支名称的任何地方都接受,并且就像您键入分支名称一样。
例如git branch --track mybranch @{-1}
,git merge @{-1}
-1-1 和git rev-parse --symbolic-full-name @{-1}
将按预期工作。
和
git checkout -
git checkout @{-1}
的简写。
如今,最简单的方法是:
git checkout -
... 是以下内容的别名:
git checkout @{-1}
如果您想了解更多,我在这里写了整篇文章: Checkout The Previous Branch In Git 。
正如 @Karl 在git checkout
手册中指出的那样:
作为一种特殊情况,最后第 N 个分支的 “@ {-N}” 语法签出该分支(而不是分离)。您还可以指定 - 与 “@ {-1}” 同义。
因此,在这种情况下git checkout -
和git checkout @{-1}
我认为最近是使用git reflog
并解析moving from branch1 to branch2
和git checkout branch1