2014-10-17 154 views
1

我需要从一个特定的分支获取文件。我已经尝试了几个命令,但它最终会拉动整个回购,而不是仅仅需要从特定分支拉到目录的几个文件。Git拉/克隆分支

Git版本1.7.1

+1

可能的副本[如何在git中克隆单个分支?](http://stackoverflow.com/questions/1778088/how-to-clone-a-single-branch-in-git) – avi 2014-10-17 10:30:50

+0

'git clone [email protected]:name/name.git -b mv_LookbookAddition --single-branch结束于*错误:未知选项'single-branch'* – nicoX 2014-10-17 10:36:56

回答

6

如果你得到一个错误:

git clone [email protected]:name/name.git -b mv_LookbookAddition --single-branch 

这意味着你需要1.7.10+(2012年6月),使用,用于Linux, a ppagit-scm.com/download/mac为苹果电脑。

但你会得到分支的完整历史记录(如果分支已经从master创建的,你会得到所有提交的master,直到分支开始,加上分支提交)

你可以尝试并结合--depth选项从单独分支

git clone [email protected]:name/name.git -b yourBranch --single-branch --depth 10 

这将您克隆回购浅回购,这就是为什么你要git 2.0+ (because you can create commits and push back, from your shallow repo)只有最后提交获得。

请参阅explainshell.com

+0

如果我使用更新的Git版本,它会克隆整个回购,而不是我指定的分支。 – nicoX 2014-10-17 10:52:10

+0

@nicoX我确认它只克隆选定的分支。你使用的是什么操作系统和什么版本的Git? – VonC 2014-10-17 10:52:44

+0

最新在* Ubuntu 13.10 *上使用* git 1.8.3.2 *版进行了测试。我的分支位于* Bitbucket *,它不会与'master'分支合并。 – nicoX 2014-10-17 11:04:12