我已经在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
命令?
答案 0 :(得分:1)
我认为您在结帐时缺少-t
选项。
请改为尝试:
$ git checkout -t feature/Project_branch
这将创建一个名为Project_branch
的分支,正在跟踪feature/Project_branch
答案 1 :(得分:0)
所有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
会在您当地的仓库中列出您拥有的所有分支机构。