问题描述
您好,问题在于:当我输入“ git branch -a
”时,我可以看到我需要用红色显示的分支-
远程处理/来源/ ANL
在Github上的远程存储库中,我可以看到该分支以及3天前已对该分支进行了提交的事实,
我还需要它也是本地分支机构,该怎么做?
请帮助我。
试图做git fetch origin
,git remote update
那些没有使ANL分支出现在本地的事情。
解决方法
要创建远程分支的本地分支,请执行git branch ANL origin/ANL
或创建分支并将其切换到git checkout -b ANL origin/ANL
在通常情况下,您只是说
git checkout ANL
如果多个远程服务器都具有该名称的分支,那将不起作用,但是如果您只有一个远程服务器,则这是最简单的方法。其他解决方案(如EncryptedWatermelon所建议的)则不必要地复杂化了 ,并且不会导致您期望的远程跟踪。 (这就是为什么您应该总是对任何强迫您接受他们回答的人持怀疑态度,但是我离题了……)
更新:由于EncryptedWatermelon选择继续散布错误信息,而不是实际测试这些命令并对其进行自我教育,因此这里提供了实际的命令和输出以演示其工作原理。
首先,fetch的输出显示我们使用的名称与远程分支匹配:
$ git fetch
remote: Enumerating objects: 3,done.
remote: Counting objects: 100% (3/3),done.
remote: Compressing objects: 100% (2/2),done.
remote: Total 2 (delta 0),reused 0 (delta 0)
Unpacking objects: 100% (2/2),207 bytes | 2.00 KiB/s,done.
From C:/Users/Mark/toy
* [new branch] x -> origin/x
现在这是创建本地分支并检出的方法:
$ git checkout x
Switched to a new branch 'x'
Branch 'x' set up to track remote branch 'x' from 'origin'
然后,这是日志,因此您可以看到我们确实位于远程分支位置:
$ git log --oneline
38018c6 (HEAD -> x,origin/x) 2
f9ff458 (origin/master,origin/HEAD,master) 1
,
您可以通过命令git remote -v
检查远程URL,确保您使用的是正确的远程。
如果网址正确,则可以检查远程分支是否存在
How to check if remote branch exists on a given remote repository?