在远程存储库中创建分支而无需本地存储库

时间:2013-11-02 20:03:49

标签: git git-branch

是否可以在远程主存储库中创建分支而无需存储库的本地克隆?

存储库足够大,克隆副本只是为了制作和推送分支是非常浪费的(大约20分钟),特别是由于程序和功能原因由自动化系统制作分支,并且它不需要存储库本身的内容。

2 个答案:

答案 0 :(得分:5)

不基于现有分支,但您可以使用全新的无关存储库推送分支。请尝试以下测试说明

为测试创建原始仓库

cd ~/Desktop/test
mkdir original_repo && cd original_repo 
git init && touch testfile && git add . && git commit -m "master repo"
cd ..

创建一个新的空仓库

mkdir hacky_repo && cd hacky_repo
git init && touch init && git add . && git commit -m "empty new repo"

将原始仓库作为遥控器添加到此仓库

git remote add original ../original_repo/

现在将分支从此回购推送至原始回购

git push original master:some_new_branch
cd ../original_repo

如果您现在执行git branch - 您的原始仓库中应该有新的分支。

$) git branch
* master
  some_new_branch

这里的假设是您事先知道所有分支/分支命名空间都是免费的。

答案 1 :(得分:2)

除了从任何仓库推送分支外,其他可能性包括在服务器上设置某种监听器以便:

  • 触发创建分支(http侦听器)
  • 在远程端创建分支(通过ssh命令)

但是假设你有权访问该服务器。

如果服务器是GitHub,您将无法做到这一点,但您可以使用GitHub API,例如“Create a reference”。