【发布时间】:2021-08-22 23:19:36
【问题描述】:
kholo@LAPTOP-UMTQFP22 ~/Code/js (origin/JS-BASICS/CORE/04-functions)
λ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> origin/JS-BASICS/CORE/04-functions
我在切换分支和运行代码时遇到问题。它使用前一个分支的内容打开 vs code,即使在左下角它说我在新分支中。有人告诉我先尝试 git pull 然后 git checkout 然后运行 code 。在 vs 代码中打开分支。非常感谢您的帮助。
【问题讨论】:
-
旁注:你在一个 local 分支上(因为你只能在本地分支上——实际上,“本地分支”这个短语是多余的,就像其他东西一样实际上并不是分支),其名称为
origin/JS-BASICS/CORE/04-functions。对于(本地)分支来说,这是一个糟糕的名称,因为它看起来像一个远程跟踪名称。 Git 不会混淆,但您会:与此名称对应的远程跟踪名称是origin/origin/JS-BASICS/CORE/04-functions。 -
您可能应该将此(本地)分支重命名为更合理的名称。正如 Rodolfo BocaneGra 回答的那样,小心混合情况。 Git 是在 Linux 上设计的,认为“readme”和“README”是不同的名称,你应该能够同时使用它们; WIndows 认为它们是同一个名字,大小写不同,一次只允许你使用一个;当 Windows 和 Git 在这里发生冲突时,结果是让用户(即你)痛苦,而不是做一些明智或有用的事情。
-
Git 不会混淆,这让我印象深刻。我想那是因为它首先根据本地分支名称检查 ref。
-
(因此,我的一般规则是永远不要在文件名或分支名中使用任何大写,如果可能的话。有时你别无选择。)
-
@matt:是的,它首先检查分支名称(请参阅the gitrevisions documentation 并注意解决不明确的引用名称所采取的六个步骤的顺序——从技术上讲,Git 检查 tag 首先命名,但这里大概没有冲突的标签...)。