gpt4 book ai didi

当存在同名文件时 Git 更改分支

转载 作者:IT王子 更新时间:2023-10-29 00:48:32 26 4
gpt4 key购买 nike

我的 git 仓库中有一个名为 xyz 的文件。巧合的是,我也有一个名为xyz的分支。目前我在掌握,但我想 checkout 到分支 xyz。要使用的命令很简单

$ git checkout xyz

但这会将文件 xyz check out 到当前的 HEAD。我如何将我的分支更改为分支 xyz

最佳答案

commit a047faf 所示(git 1.8.4.3+),你也可以试试:

git checkout xyz --

(注:error message will be clearer with Git 2.21, Q1 2019)

这将清楚表明 xyz部分是分支或提交,而 -- 之后的所有内容必须是一个路径(这里没有提供路径)。参见 more here on the double-hyphen convention .

如果您尝试不使用 ' -- ',这可能有效也可能无效,如“Why does git checkout <remote_branchname> not create new tracking branch?”所示:

git checkout name does:

  • if it's local branch or explicit remote branch, switch to it.
  • if it's a tracked path, reset it
  • if it's a remote branch, create a tracking branch and switch to it.

而且它的行为并不总是相同的。因此'-- ' 以明确消除歧义。


2019 年 8 月更新,Git 2.23+

git checkout is too confusing并替换为:

  • git switch :意思是git switch xyz即使你有文件 xyz 也能正常工作,
  • git restore :意思是git restore xyz即使你有一个分支也会工作 xyz .

另外,正如我在“Why did my Git repo enter a detached HEAD state?”中解释的那样,不再有意外的分离 HEAD。

关于当存在同名文件时 Git 更改分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25322335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com