是否有最近在Git中签出的分支的列表?

是否有最近在Git中签出的分支的列表?,git,Git,当我需要下拉master并将其合并到我正在处理的分支中时,为了在分支和master(或另一个分支)之间进行切换而必须键入分支名称,我对此感到非常厌倦 我想创建一个bash脚本,它将签出我在当前签出分支之前签出的分支 所以如果我有两个分支master和branch-1 git checkout master (initial branch) git checkout branch-1 (do work on branch-1, but need to merge master changes i

当我需要下拉master并将其合并到我正在处理的分支中时,为了在分支和master(或另一个分支)之间进行切换而必须键入分支名称,我对此感到非常厌倦

我想创建一个bash脚本,它将签出我在当前签出分支之前签出的分支

所以如果我有两个分支
master
branch-1

git checkout master (initial branch) 
git checkout branch-1 (do work on branch-1, but need to merge master changes into branch-1)
git checkout master
git pull (pull master changes) (current branch is master, previous branch is branch-1)
git checkout branch-1 <-- replace this command with a command `git lastbranch` that checks out the branch I had open before this branch

是否存在任何功能

要签出以前签出的分支,可以使用破折号
git checkout-


这同样适用于其他系统命令,如
cd
要签出以前签出的分支,可以使用dash
git checkout-

同样的情况也适用于其他系统命令,例如
cd
git checkout
(或git 2.23及更高版本中的
git switch
)具有“先前签出的分支”的简写语法:

指“一年前签出的分支机构”,包括:

意思是“分行两天前结帐了”,等等。
-
本身:

git checkout -
简而言之,表示与
@{-1}
相同

(不过,没有一种方便的方式列出这些信息。)

也就是说,你可能做了太多的工作 如果不使用
主控形状,则无需更新它

假设您正在使用分支
功能
,并且有人在
源代码
提交了新的
主文件
,您希望使用它们合并或重新设置基础

您可以这样做:

但你可以这样做:

$ git fetch
$ git merge origin/master
如果使用重设基础工作流,这是:

$ git fetch
$ git rebase origin/master
请注意,完全缺少
git checkout
步骤。我们不需要更新
master
;事实上,我们甚至根本不需要
master
,可以运行
git branch-d master
,将其完全清除。

git checkout
(或git 2.23及更高版本中的
git switch
)有一个“先前签出的分支”的简写语法:

指“一年前签出的分支机构”,包括:

意思是“分行两天前结帐了”,等等。
-
本身:

git checkout -
简而言之,表示与
@{-1}
相同

(不过,没有一种方便的方式列出这些信息。)

也就是说,你可能做了太多的工作 如果不使用
主控形状,则无需更新它

假设您正在使用分支
功能
,并且有人在
源代码
提交了新的
主文件
,您希望使用它们合并或重新设置基础

您可以这样做:

但你可以这样做:

$ git fetch
$ git merge origin/master
如果使用重设基础工作流,这是:

$ git fetch
$ git rebase origin/master

请注意,完全缺少
git checkout
步骤。我们不需要更新
master
;事实上,我们甚至根本不需要
master
,可以运行
git branch-d master
来完全摆脱它。

令人惊讶的是,我不知道它的存在。让我的生活更轻松,干杯。请注意,
cd-
内置在shell中。并非所有的shell都可以实现它(但现在几乎所有的shell都可以实现)。同时,Git的
Git签出-
内置于Git中。我记得它在一个非常旧的Git中是新的,大约是1.6或1.7。令人惊讶的是,我不知道它的存在。让我的生活更轻松,干杯。请注意,
cd-
内置在shell中。并非所有的shell都可以实现它(但现在几乎所有的shell都可以实现)。同时,Git的
Git签出-
内置于Git中。我记得它在一个非常旧的Git中是新的,大约是1.6或1.7。从你的答案中我学到了很多,如果计时器允许,我会将它标记为正确的。谢谢从你的回答中学到了很多,如果计时器允许,我会把它标记为正确的。谢谢
$ git fetch
$ git rebase origin/master