从分支添加git子树

时间:2013-05-30 06:30:47

标签: git git-subtree

我正在尝试使用git subtree add向我的项目添加一个repo(称为cow)。特别是,我想添加分支stable(不是master分支)。我试过了:

git subtree add -P cow https://github.com/geoffryan/cow.git stable

但是这返回了错误

'stable' does not refer to a commit.

我也尝试过:

git subtree add -P cow https://github.com/geoffryan/cow.git cow/stable
'cow/stable' does not refer to a commit.

git subtree add -P cow https://github.com/geoffryan/cow.git ca26d248a12c21264e32a2c212381cafb578c9fb
'ca26d248a12c21264e32a2c212381cafb578c9fb' does not refer to a commit.

哈希是stable分支中最新提交的哈希值。我在网上看到的使用示例都使用master进行提交,是否可以在非主分支上使用subtree add

2 个答案:

答案 0 :(得分:24)

这似乎有效

$ git remote add cow https://github.com/geoffryan/cow.git
$ git fetch cow
$ git subtree add -P cow cow/stable
Added dir 'cow'

我不明白如何直接使用命令与存储库部分。

答案 1 :(得分:0)

我遇到了类似的问题。但是,gipi的解决方案并不适合我。奇怪的是,当我添加master分支时,everythins很好,但是当我想添加其他分支时,它会返回

fatal: Couldn't find remote ref xxx/yyy
Unexpected end of command stream

所以我尝试了另一种方式:

mkdir tmp
cd tmp
git init
git clone url_for_xxx.git yyy

来自那个临时代表的主分支subtree add

git subtree add -P yyy /path/to/tmp/ master