我想从以下网站下载源代码主-下一个分支按照中所述使用 git赛灵思维基。
我试过这个:
#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git
Initialized empty Git repository in /home/Hannan/master-next/.git/
fatal: remote error:
Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name
Email [email protected] for help
即使这样也失败了:
# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git
Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/
fatal: remote error:
Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name
Email [email protected] for help
有效的命令是:
git clone git://github.com/Xilinx/u-boot-xlnx.git
但我怎么知道这确实会获取主-下一个分支而不是主分支?如何使用 git 正确获取特定分支?
我使用的是 RHEL 6,通过 PuTTY 访问。
答案1
就像错误消息告诉您的那样,git clone
需要一个 git 存储库。您不能像这样在路径中“添加”分支的名称。看git 中的分支。
您可以克隆单个分支(及其历史记录):
git clone <url> --branch <branch> --single-branch
看git help clone
。
但是您运行的克隆命令为您提供了整个存储库的副本,您可以使用 来查看现有分支git branch
以及有关它们的更多详细信息git show-branch
。
使用 切换到您想要的分支git checkout branch-name
。
该书的第一章专业版 Git书籍(在线提供)提供了有关基本命令的更多详细信息。
答案2
这个命令应该有效:
$ git fetch origin [branch]
上面的命令仅从远程存储库获取元数据,它不合并源。
如果你想获取并合并源,它应该是:
$ git pull origin [branch]
请小心执行合并命令的分支。该分支将是合并源的地方。
#更新# 语法检查/重写
答案3
git 存储库包含所有分支(但经过压缩,只有差异,因此很少出现大小问题)。
因此,您可以像成功完成一样克隆整个项目。这是获取存储库的标准方法,即使您只对一个分支感兴趣。
.git 结构将包括全部在该存储库上完成的分支。
要使用特定分支,请执行以下操作:git checkout [branch_name]
如果分支存在,则文件将在本地可用(即项目目录中的当前文件)。
git status
然后将显示哪个分支是当前分支,例如:
根据 Leiaz 的说法,人们可以克隆一个特定的分支。在实践中,我从未这样做过或见过其他人使用它。经过进一步研究,我发现它相对较新,在 git 1.7.10(2012 年 4 月)中添加:“git clone learnt --single-branch”选项限制克隆到单个分支(惊讶!);不会获取未指向分支历史记录的标签。例如:
git clone -b master-next --single-branch git://github.com/Xilinx/
在这里,对于我的“链接器”应用程序,我正在检查分支v3.0.10