4

是否可以在没有存储库的本地克隆的情况下在远程主存储库中创建分支?

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

4

2 回答 2

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/

现在将分支从这个 repo 推送到原始 repo

git push original master:some_new_branch
cd ../original_repo

如果现在你做了git branch- 你应该在你的原始仓库中有新的分支。

$) git branch
* master
  some_new_branch

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

于 2013-11-02T20:41:16.427 回答
2

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

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

但这假设您可以访问该服务器。

如果服务器是 GitHub,您将无法执行此操作,但您可以使用 GitHub API,例如“创建引用”。

于 2013-11-02T20:32:24.300 回答