当您开始学习和使用 Git 时,您会遇到必须更改分支的常见情况。
在这里,事情可能会让您感到有些困惑。 如果您寻找如何在 git 中切换分支,您会遇到一些使用 git switch 的示例和一些使用 git checkout 的示例。
Git 签出命令 | Git切换命令 | 描述 |
---|---|---|
git checkout 我的分支 | git 切换我的分支 | 切换到分支 my-branch |
git checkout -b 我的分支 | git switch -c 我的分支 | 创建并切换到我的分支 |
那么,git switch 和 git checkout 有什么区别呢? 如果两者都可以用于切换分支,为什么有两个命令用于同一目的? 让我解释。
git checkout 和 git switch 的区别
事情就是这样。 Git checkout 是用于创建和切换分支的旧命令。 它还可以用于从某个提交恢复更改。 但 git checkout 不仅仅如此。 它允许您从任何分支复制文件或直接提交到您的工作树,而无需切换分支。
丹·法布里奇 笔记git checkout 做了三件事:
- 切换分支
- 将文件从舞台复制到工作树
- 将文件从树形复制到工作树
如果你不明白,没关系。 请记住,git checkout 不仅仅是简单的分支切换,而且额外的功能开始造成混乱。
因此,随着 Git 2.23 的发布,它的开发人员引入了两个新的 git 命令: git switch
和 git restore
.
此举背后的想法是让人们使用 git switch
用于切换分支和 git restore 用于撤消提交中的更改。 同时 git checkout
仍然存在处理树状结构的高级选项。
你应该使用哪一个? Git 结帐或 git 切换?
如果必须切换分支,请使用 git switch 命令而不是 git checkout。 为什么? 因为它是为这个特定任务而创建的。 对于新的 Git 用户,更容易记住 git switch
用于切换分支, git restore
用于恢复提交。
因此,将 git checkout 的分支创建和切换功能替换为 git switch 命令是一个很好的做法。
我希望你现在清楚使用 git switch 和 checkout。 如果您有什么要补充的,请使用评论部分。