git checkout branchname 不工作

git checkout branchname is not working

我已经在 stash 存储库中创建了新项目,并且还为这个新项目在 stash 中创建了几个分支。我能够从 git bash 克隆项目,但是当我尝试检查特定分支时,我遇到了以下错误

git checkout feature/Project_branch

error: pathspec 'feature/Project_branch' did not match any file(s) known to git.

但如果我按如下方式使用,那么它的工作原理

git fetch origin

git checkout feature/Project_branch

还有其他项目我曾经检查它在没有使用 git fetch origin command 的情况下工作,但在我的新存储库案例中它抛出上述错误。

任何人都可以帮助我理解,我需要做任何配置才能直接使用 git checkout 检出分支而不使用 git fetch 命令吗?

我认为您在结帐时缺少 -t 选项。

试试这个:

$ git checkout -t feature/Project_branch

这将创建一个名为 Project_branch 的分支,用于跟踪 feature/Project_branch

git fetch 所做的只是将您还没有的信息下载到您的存储库中。这意味着当您第一次尝试切换到 feature/Project_branch 时,您还没有下载它。您可以通过两种方式获取

1 - 基于原始 git clone,当前与远程存储库关联的所有分支都将被下载并可用于您的本地 git 存储库。

2 - 如果在 git clone 之后将新分支添加到远程存储库,则必须执行 git fetch 或类似的操作,例如 git pull,以便获得分支机构的访问权限。

一定是你想切换到的分支在你最初克隆存储库时没有创建和推送,这就是你必须做 git fetch

的原因

但是,从现在开始,您不必 运行 git fetch 来在 master 和 feature/Project_branch 之间切换。

注意: git branch 将在您的本地存储库中列出您可以使用的所有分支。