引入 git switch 后 git checkout 还能做什么?

问题描述 投票:0回答:2

众所周知,

git checkout
是一个非常重载的命令。我确实了解某些命令是为了分发而引入的,例如到
git switch

在我使用以下命令之前:

$ git checkout <existing-branch>
$ git checkout <hash>
$ git checkout -b <new-branch-name>

所以我想知道

git switch
推出后,
git-checkout
剩下的用途是什么?这是一个已弃用的命令吗?

git git-checkout git-switch
2个回答
22
投票

保留它至少是为了向后兼容。想想数以百万计的仍在使用

git checkout
的脚本 — 我们是否应该赶紧重写所有这些脚本?当然不是。

实际上,它甚至没有被弃用。 文档中没有关于弃用的内容。另一方面,

git restore
git switch
的文档说“此命令是实验性的。行为可能会改变。”


0
投票

Git 2.46(2024 年第 3 季度),第 15 批 确认:

git checkout
将会继续存在。

请参阅 commit 028bb23commit fcf0f48commit 6ccf041commit 57ec925(2024 年 6 月 14 日),作者:Patrick Steinhardt (

pks-t
)
(由 Junio C Hamano --
gitster
--
合并于 commit 166cdd8,2024 年 6 月 20 日)

BreakingChanges
:我们不打算弃用 git-checkout 的文档

签字人:Patrick Steinhardt

git-checkout(1)
命令被许多人认为难以理解,因为它连接了两个有些不相关的功能:在分支之间切换和从任意修订版本恢复工作树文件。
因此,在 2019 年,我们实现了两个新命令
git-switch(1)
git-restore(1)
,将这些单独的关注点拆分为独立的函数。

git-checkout(1)
的这种“替代”一再引发了我们用户群的担忧,即
git-checkout(1)
最终会消失。
但情况并非如此:该命令的使用仍然很广泛,并且预计这种情况不会很快改变。

记录所有三个命令将在可预见的未来保留。
如果我们发现大多数人都放弃了任何命令,则可能会重新考虑此决定。

BreakingChanges
现在包含在其 手册页中:

这对命令涵盖了

git-checkout(1)
提供的功能
git-restore(1)
git-switch(1)
。因为
git-checkout(1)
的使用仍然是 普遍存在,并且预计这种情况不会很快改变,所有 三个命令将保留。

如果我们发现存在以下情况,可能会重新考虑此决定 几乎不再有任何命令的用户。

© www.soinside.com 2019 - 2024. All rights reserved.