来自Github的Checkout分支,没有克隆整个回购,没有Git

时间:2013-12-09 23:34:47

标签: git bash github automation git-checkout

我经常构建服务器,其目标是安装存储在Github中的某些软件。过程如下:

  1. 安装Git。
  2. 克隆Github回购。
  3. 检查右分支。
  4. 步骤1和2可能相当慢(几分钟)。是否有任何工具可以让我切入追逐,第3步?我想的是:

    1. 获取gitcheckout工具(bash脚本)
    2. 它直接从Github中的右分支下拉相关文件。

3 个答案:

答案 0 :(得分:2)

如果你想使用git,如果你的git足够新,可以使用--single-branch

git clone --single-branch --branch=<branch> --depth=1

否则,您可以通过zip下载源代码:

wget https://github.com/<user>/<project>/archive/<branch>.zip

答案 1 :(得分:1)

  1. 您可以使用GitHub API获取tarball,然后您可以获得一个分支并一次性提取它:

    curl -u USER:TOKEN https://api.github.com/repos/USER/REPO/tarball/BRANCH -L | tar zt
    

    您可以按照this page上的步骤创建令牌。 这很容易做到。

  2. 或者您可以使用svn获取子目录:

    svn checkout https://github.com/USER/REPO/branches/BRANCH/subdir/you/want
    
  3. 两种解决方案的好处在于它们不会下载完整的历史记录,只会下载最新状态的快照。

答案 2 :(得分:1)

curl或wget:

curl -o foo.zip https://github.com/<user>/<project>/archive/<branch>.zip
wget https://github.com/<user>/<project>/archive/<branch>.zip

据说,根据我的经验,安装git只需要几秒钟